VBA: Erstellen einer Mail mit Anhang

Der  nachfolgende Code ermöglicht es, eine Mail über VBA-Code aus Access zu erstellen:

Sub Mailversand(str_empfaenger, str_betreff, str_Dateiname, str_Vorname, str_Nachname, str_Telefon, str_Mail)
' Diese SUB erstellt eine Mail mit Anhang
Dim OL_App As Object
Set OL_App = CreateObject("Outlook.Application")

With OL_App.CreateItem(0)
   .BodyFormat = 3
   .GetInspector.Display
   .To = str_empfaenger
   .Subject = str_betreff
   .htmlBody = "Hallo,<br><br>im Anhang findest Du die im Betreff genannte Datei.<br><br>Mit freundlichen Grüßen<br><br>" & str_Vorname & " " & str_Nachname & "<br>" & str_Telefon & "<br>" & str_Mail
   .Attachments.Add str_Dateiname
End With

End Sub

Die Routine erstellt eine Mail mit Anhang, die aus einem übergeordneten Modul aufgerufen wird. Nach Erstellung wird die Mail in Outlook aufgerufen, bevor diese versendet wird.

Kurze Erläuterung zum Code:

Dim OL_App As Object
Set OL_App = CreateObject("Outlook.Application")

Hier wird Outlook als Object deklariert und anschließend einer neue Mail erstellt.

In den folgenden Schritten wird die Mail aufgebaut:

BodyFormat = 3
With OL_App.CreateItem(0)
   .GetInspector.Display
   .To = str_empfaenger
   .Subject = str_betreff
   .htmlBody = "Hallo,<br><br>im Anhang findest Du die im Betreff genannte Datei.<br><br>Mit freundlichen Grüßen<br><br>" & Vorname Nachname
   .Attachments.Add str_Dateiname
End With
  • Zeile 1: Definiert das Mail-Format, die möglichen Werte sind „1“ Text-Mail, „2“ RTF-Format, „3“ HTML-Mail
  • Zeile 3: Blendet die Mail ein. Mögliche Parameter sind: „.Display“ = Anzeige der Mail, „.send“ Direktversand der Mail
  • Zeile 4: Empfänger der Mail, feste Empfänger werden wie folgt deklariert, die Trennung zwischen mehreren Empfängern geschieht über ein Semikolon: „Empfaenger.1@domain.com; Empfaenger.2@domain.de“
  • Zeile 5: Betreff der Mail, ein fester Betreff wird in Anführungszeichen gesetzt.
  • Zeile 6: Deklaration des Mailtextes. Der erste Teil enthält den Nachrichten Text. Leider müssen hier Steuerzeichen gesetzt werden. Mit
    <br&gt

    wird ein Zeilenumbruch erzeugt.
    Die Signatur muss manuell hinzugefügt bzw. dynamisch erzeugt werden. Eine Übernahme der Signaturdaten aus dem Outlook ist nach einem Office-Patch von Juli 2016 nicht mehr möglich.

  • Zeile 7: Fügt den Anhang hinzu. Feste Pfade werden in Anführungszeichen gesetzt.

Schreibe einen Kommentar