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 SubDie 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.