VBA BODY und Signatur in Outlook E-Mails
Schritt-für-Schritt-Anleitung
Hier ist eine einfache Schritt-für-Schritt-Anleitung, um eine E-Mail mit VBA zu erstellen, die sowohl einen Text als auch eine Outlook-Signatur enthält.
-
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
-
Füge ein neues Modul hinzu:
- Klicke mit der rechten Maustaste auf „VBAProject (DeinWorkbookName)“ > „Einfügen“ > „Modul“.
-
Kopiere den folgenden VBA-Code in das Modul:
Sub EmailErzeugenLft_3()
Dim app As Object
Dim file As String
Dim isNew As Boolean
Dim strSignatur As String
file = Sheets("Tabelle3").Range("L20").Text & ".pdf"
Sheets("Tabelle16").Range("A1:G61").ExportAsFixedFormat xlTypePDF, Environ("TEMP") & "\" & file
On Error Resume Next
Set app = GetObject(, "Outlook.Application")
If app Is Nothing Then
Set app = CreateObject("Outlook.Application")
isNew = True
End If
With app.CreateItem(0)
.GetInspector.Display
strSignatur = .htmlBody
.To = Sheets("Tabelle3").Range("M17").Value
.Subject = Sheets("Tabelle3").Range("L20").Value
.htmlBody = "<body style='font-family:Arial;font-size:11pt;color:#000000'>" & _
Sheets("Tabelle3").Range("M11").Value & "<br><br>" & strSignatur & "</body>"
.Attachments.Add Environ("TEMP") & "\" & file
.ReadReceiptRequested = True
.Display
End With
If isNew Then app.Quit
End Sub
-
Passe die Zellreferenzen an deine Bedürfnisse an.
-
Führe das Makro aus, indem du F5 drückst oder über das Menü „Ausführen“ wählst.
Häufige Fehler und Lösungen
Alternative Methoden
Eine andere Methode, um die Outlook-Signatur in eine E-Mail einzufügen, ist die Verwendung von GetInspector und das Speichern der Signatur in einer Variable, bevor du den Körper der E-Mail setzt. Hier ist ein Beispiel:
With app.CreateItem(0)
.GetInspector.Display
strSignatur = .htmlBody
.htmlBody = "Dein Text hier" & "<br><br>" & strSignatur
End With
Praktische Beispiele
Ein konkretes Beispiel für die Verwendung von vba body könnte sein, wenn du eine E-Mail mit einem PDF-Anhang und einer personalisierten Nachricht an mehrere Empfänger sendest.
.To = "email@example.com"
.Subject = "Dein Betreff"
.htmlBody = "Hallo,<br>Hier ist das angeforderte Dokument.<br><br>" & strSignatur
Tipps für Profis
- Verwende HTML für Formatierung: Nutze
htmlBody, um deinen E-Mail-Text zu formatieren. Dies ist besonders nützlich, wenn du spezielle Schriftarten oder Farben verwenden möchtest.
- E-Mail-Body dynamisch gestalten: Du kannst die Inhalte des E-Mail-Bodys dynamisch aus verschiedenen Zellen in deinem Excel-Blatt ziehen, um die E-Mails zu personalisieren.
FAQ: Häufige Fragen
1. Wie kann ich die Schriftart und -größe im E-Mail-Body ändern?
Du kannst die Schriftart und -größe im htmlBody mit CSS definieren, z. B. "<body style='font-family:Arial;font-size:11pt;'>...".
2. Was ist der Unterschied zwischen .BODY und .htmlBody?
.BODY ist für einfachen Text ohne Formatierung, während .htmlBody HTML-Formatierung unterstützt.
3. Wie kann ich sicherstellen, dass die Outlook-Signatur nicht verändert wird?
Speichere die Signatur in einer Variable, bevor du den E-Mail-Body setzt, um sicherzustellen, dass die Formatierung nicht verloren geht.
4. Welche Excel-Version benötige ich für diese VBA-Codes?
Die Beispiele wurden in Excel 2016 getestet, sollten aber auch in neueren Versionen funktionieren.