Mehrere Dateien mit OutMail.Attachments.Add anhängen
Schritt-für-Schritt-Anleitung
Um mehrere Dateien mit OutMail.Attachments.Add
in Excel VBA anzuhängen, kannst du die folgenden Schritte befolgen:
-
Definiere die Pfade der Dateien: Erstelle Variablen, die auf die Speicherorte deiner Dateien zeigen.
Pfad = "D:\PDF\"
PDF_Speicher = Pfad & "Rechnung.pdf"
PDF_Speicher2 = Pfad & "Erinnerung.pdf"
-
Erstelle die E-Mail: Setze die Betreffzeile und den E-Mail-Inhalt.
OutMail.Subject = "Rechnung"
OutMail.Body = "Inhalt"
-
Füge die Anhänge hinzu: Verwende OutMail.Attachments.Add
, um die Dateien anzuhängen.
OutMail.Attachments.Add PDF_Speicher
OutMail.Attachments.Add PDF_Speicher2
-
Zeige die E-Mail an: Verwende OutMail.Display
, um die E-Mail anzuzeigen.
OutMail.Display
-
Objekte auflösen: Setze die Objekte auf Nothing, um Speicher freizugeben.
Set OutMail = Nothing
Set OutApp = Nothing
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du viele Dateien hast, kannst du sie auch in eine ZIP-Datei komprimieren und dann die ZIP-Datei anhängen. Hier ist ein einfaches Beispiel, um eine ZIP-Datei zu erstellen und sie als Anhang hinzuzufügen:
Sub ZipFile()
' Dein Code zum Erstellen der ZIP-Datei hier
End Sub
Das ZIP-Verfahren ist besonders nützlich, wenn du eine große Anzahl von Dateien versenden möchtest.
Praktische Beispiele
Hier ist ein vollständiger Beispielcode für das Hinzufügen von mehreren Anhängen:
Sub SendEmailWithAttachments()
Dim OutApp As Object
Dim OutMail As Object
Dim Pfad As String
Dim PDF_Speicher As String
Dim PDF_Speicher2 As String
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
Pfad = "D:\PDF\"
PDF_Speicher = Pfad & "Rechnung.pdf"
PDF_Speicher2 = Pfad & "Erinnerung.pdf"
OutMail.Subject = "Rechnung"
OutMail.Body = "Inhalt"
OutMail.Attachments.Add PDF_Speicher
OutMail.Attachments.Add PDF_Speicher2
OutMail.Display
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Tipps für Profis
-
Verwende Schleifen: Wenn du viele Dateien hast, kannst du eine Schleife verwenden, um die Anhänge hinzuzufügen. Dies macht den Code flexibler.
Dim i As Integer
Dim Dateinamen As Variant
Dateinamen = Array("Rechnung.pdf", "Erinnerung.pdf")
For i = LBound(Dateinamen) To UBound(Dateinamen)
OutMail.Attachments.Add Pfad & Dateinamen(i)
Next i
-
Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um sicherzustellen, dass dein Code nicht bei einem Problem abbricht.
FAQ: Häufige Fragen
1. Kann ich auch Dateien aus einem anderen Verzeichnis anhängen?
Ja, du kannst den Pfad zu den Dateien entsprechend anpassen. Stelle sicher, dass die Pfade korrekt sind.
2. Was ist, wenn ich eine Datei nicht anhängen kann?
Überprüfe, ob die Datei existiert und ob du die richtigen Berechtigungen hast, um darauf zuzugreifen.
3. Wie kann ich Anhänge komprimieren, bevor ich sie sende?
Du kannst VBA verwenden, um die Dateien zu einer ZIP-Datei zu komprimieren, bevor du sie als Anhang hinzufügst. Der bereitgestellte Code für das Zippen von Dateien kann dir dabei helfen.