VBA Outlook: E-Mail als html formatieren

VBA - Visual Basic for Application

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.

Screenshot VBA-Quellcode, um ein MailItem als HTML-Mail zu formatieren
Eigeschaft BodyFormat das HTML-Format zuweisen
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.

Screenshot der notwendigen Verweise im VBA-Editor
notwendige Libraries unter Extras Verweise einstellen

Jetzt kann man olReply weiterarbeiten und z.B. Text in Form von HTML-Code zuweisen.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert