Unterordner/Datein mit versenden?

Testdrive16

Mitglied
Hallo,

Dateien aus einen Ordner per mail versenden....

Code:
Code:
        Dim oMail As New MailMessage 
        Dim Username As String = System.Environment.UserName 
        Dim Datei As Object = "C:\Dokumente und Einstellungen\" & Username & "\Desktop\123\" 


        Dim sPath As String = Datei 
        If sPath.EndsWith("\") And sPath.Length > 3 Then 
            sPath = sPath.Substring(0, sPath.Length - 1) 
        End If 



        If System.IO.Directory.Exists(Datei) Then 
            System.Web.Mail.SmtpMail.SmtpServer = "mailto.t-online.de" 

            Dim sFiles() As String = System.IO.Directory.GetFiles(sPath, "*.xml") 
            With oMail 
                .From = "Test@Test.de" 
                .To = "Test@test.de" 
                .Subject = "Test" 
                .Body = "Test" 
                Dim sFile As String 
                For Each sFile In sFiles 
                    .Attachments.Add(New MailAttachment(sFile)) 
                Next 
            End With 
            Try 
                SmtpMail.Send(oMail) 
                End 
            Catch oEx As Exception 
                MsgBox("Fehler: " & oEx.Message.ToString) 
            End Try 
        Else 
            MsgBox("Fehler") 
        End If


Was ist aber wenn der Ordner noch Unterordner hat, in denen auch Dateien sind?
Man weiß aber nicht wie die Unterordner heißen.

Wie schaffe ich es, dass auch die Dateien aus allen Unterordnern mit versendet werden?

Danke
 
Zuletzt bearbeitet von einem Moderator:
Hallo.

Um alle Ordner/Dateien in einem Ordner und seine Unterordner zu listen betätigt man sich einer rekursiven Methode.

In C# sieht so eine Funktion so aus
Code:
public void DirectoryBrowsing(string path)
{
	DirectoryInfo dir = new DirectoryInfo(path)
	
	foreach (DirectoryInfo subdir in dir.GetDirectories())
	{
		// Irgendwas mit dem Verzeichnis machen ..
		DirectoryBrowsing(subdir.Name);
	}

}

Das müsstest in VB.net Syntax kopieren, und noch mit der GetFiles Methode für jedes Unterverzeichniss die Dateien, bzw. deren Pfade, in ein Array holen. Den rest hast ja schon.

Sorry das ich dir keinen VB Code liefere, die Syntax ist mir nicht wirklich (sehr) geläufig.

MfG,
Alex
 
Zurück