Wer mit dem VBA-Editor viel herum programmiert, um sich ein paar Makros zu schreiben, die immer wiederkehrende Arbeiten automatisieren, der kommt ganz schnell mit dem MailItem in Kontakt.
Das MailItem repräsentiert das Objekt der betreffenden E-Mail im Code-Editor. Dem man verschiedene Eigenschaften zuweisen kann. So kann man zum Beispiel ausgewählte E-Mails per VBA-Makro als gelesen markieren oder eine automatische Antwort auf eine E-Mail verfassen. Einer solchen automatischen Antwort-Mail möchte man dann auch gleich die richtige Formatierung, z.B. HTML, zuweisen, da HTML wesentlich mehr Gestaltungsmöglichkeiten bietet als eine reine Text-Mail.
Eigenschaft BodyFormat verwenden
Um die HTML-Formatierung zu erreichen, muss man die Eigenschaft BodyFormat verwenden, wie im nachfolgende Bild und Code-Beispiel gezeigt.
Sub ReplyMSG()
Dim olItem As Outlook.MailItem
Dim olReply As MailItem
For Each olItem In Application.ActiveExplorer.Selection
Set olReply = olItem.Reply
olReply.BodyFormat = olFormatHTML
'...weiterer Code
Next olItem
End Sub
In dem Beispiel-Code werden Antwort-Mails erzeugt für alle im Posteingang markierten E-Mails und jedem MailItem der Antwort-Mail wird das html-Format über die Eigenschaft BodyFormat zugewiesen (olFormatHTML).
Bei BodyFormat handelt es sich um eine Aufzählung (Enumeration), das heißt, man kann auch einfach den passenden Zahlenwert zuweisen. Neben olFormatHTML gibt es noch folgende:
- olFormatUnspecified (Wert 0): keine spezifische Formatierung
- olFormatPlain (Wert 1): das Mail-Objekt wird als Nur-Text formatiert
- olFormatHTML (Wert 2): E-Mail wird als HTML formatiert
- olFormatRichText (Wert 3): Mail wird im Rich-Text-Format ausgegeben, was ebenfalls wie html Gestaltungsmöglichkeiten bietet.
Hinweis:
Damit die Code-Ausführung in Outlook auch richtig funktioniert, müssen unter “Extras” ➤ “Verweise” die richtigen Libraries ausgewählt sein.
Jetzt kann man olReply weiterarbeiten und z.B. Text in Form von HTML-Code zuweisen.