Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1552to1556
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

PDF Datein automatisch in E-Mail anzeigen

PDF Datein automatisch in E-Mail anzeigen
26.04.2017 13:17:13
Zoamy
Hallo,
ich stehe wieder vor einem Problem und hoffe, dass mir wieder so gut geholfen wird. :-)
Ich möchte mit einem Makro erreichen, dass alle PDF Dateien aus einem Ordner (Der Pfad steht in einer Zelle in der Excel Datei) als Anhang in einer Outlook E-Mail angezeigt werden.
Ist das so möglich?
Viele Grüße
Zoamy

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF Datein automatisch in E-Mail anzeigen
26.04.2017 15:55:25
Michael
Hallo!
Sub AllPDFtoEmail()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = Wb.Worksheets("Tabelle1")
Dim Pfad$, Datei$
Dim Ol As Object, Mail As Object
Set Ol = CreateObject("Outlook.Application")
Set Mail = Ol.CreateItem(0)
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"
Datei = Dir(Pfad & "*.pdf", vbDirectory)
Do Until Datei = vbNullString
.Attachments.Add Pfad & Datei
Datei = Dir
Loop
.Display
End With
Set Wb = Nothing
Set Ws = Nothing
Set Ol = Nothing
Set Mail = Nothing
End Sub
...ist ohne Fehlerüberprüfungen, Tabellenname ggf. anpassen (hier "Tabelle1"), Zelle mit dem Pfad anpassen (hier "A1"), falls die Pfadangabe ohne "\" endet fügt mein Code ein "\" automatisch am Ende ein. Die diversen Texte im Mail können/müssen natürlich auch angepasst werden.
Das alles gilt natürlich nur für MS Outlook als Mail-Client.
Passt?
LG
Michael
Anzeige
Dafür, dass Dir "so gut geholfen wird"...
28.04.2017 19:56:35
Michael
Zoamy,
...gibst Du leider keine ausreichenden Rückmeldungen (zB "Danke!").
Schade!
LG
Michael
AW: Dafür, dass Dir "so gut geholfen wird"...
02.05.2017 12:34:33
Zoamy
Hallo,
Entschuldigung. Ich war krank geworden und somit nicht im Büro. Kann es heute leider erst testen.
Ich gebe schnellstmöglich Feedback, ob es funktioniert.
Viele Grüße
Zoamy
AW: Dafür, dass Dir "so gut geholfen wird"...
02.05.2017 12:58:08
Zoamy
Hallo,
hat super geklappt!!! Vielen Dank!
Habe das aber mit meiner bestehenden Programmierung kombiniert :-) Aber es läuft einwandfrei.
Jetzt habe ich dazu noch eine kleine Frage, ich habe in diesem Ordner noch Unterordner, wie kann ich erreichen, dass alle PDF Datein aus den Unterordnern in eine E-Mail gepackt werden, wenn ich aber nur den Pfad des "Überordners" habe.
Vielleicht mache ich das mal an einem Bespiel fest:
Ordner 1 (Name immer gleich) (Pfad wird aus der Excel Datei ausgelesen)
- Unterordner 1 (Name vorher nicht bekannt)
- 1-5 PDF Datein
- Unterordner 2 (Name vorher nicht bekannt)
- 1-5 PDF Datein
- Unterordner 3 (Name vorher nicht bekannt)
- 1-5 PDF Datein
- Unterordner 4 (Name vorher nicht bekannt)
- 1-5 PDF Datein
Gibt es dazu auch einen Trick oder habe ich da keine Chance :-(
Entschuldigt bitte noch einmal meine späte Rückmeldung, dies war nicht mit Absicht :-(
Viele liebe Grüße
Zoamy
Anzeige
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
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige