AW: Warum sagst Du das nicht gleich?
02.05.2017 15:35:21
Michael
Zoamy,
...dass Du auch Unterordner einschließen willst? Das braucht dann eine andere Herangehensweise:
Sub PdfsToEmailFromSubFolders()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = Wb.Worksheets("Tabelle1")
Dim Pfad$, Ol As Object, Mail As Object
Dim FSO As Object, Verz, SubVerz, Dat, Stapel As Collection
Set Ol = CreateObject("Outlook.Application")
Set Mail = Ol.CreateItem(0)
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Stapel = New Collection
Pfad = Ws.Range("A1").Text: If Right(Pfad, 1) "\" Then Pfad = Pfad & "\"
With Mail
.To = "Empfänger@Mail.com"
.Subject = "Hier die gewünschten PDFs"
.Body = "Dokumente siehe Anhang..." & vbLf & vbLf & "Liebe Grüße"
Stapel.Add FSO.getfolder(Pfad)
Do While Stapel.Count > 0
Set Verz = Stapel(1)
Stapel.Remove 1
For Each SubVerz In Verz.SubFolders
Stapel.Add SubVerz
Next SubVerz
For Each Dat In Verz.Files
If FSO.GetExtensionName(Dat) Like "pdf" Then
.Attachments.Add Dat.Path
End If
Next Dat
Loop
.Display
End With
Set Wb = Nothing
Set Ws = Nothing
Set Ol = Nothing
Set Mail = Nothing
Set FSO = Nothing
Set Stapel = Nothing
End Sub
Für die Zukunft: Im Forum schätzen wir es, wenn eine (!) klare Frage oder Ausgangssituation kommt, die dann mit einer Lösung auskommt - hin und her Lösungen sind sehr mühsam und aufwändig.
LG
Michael