Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Email aus Excel - .Body

Forumthread: Email aus Excel - .Body

Email aus Excel - .Body
09.06.2015 11:25:52
Hauser
Halli Hallo,
ein Excel-Formular, mit dem eingegangene Bestellungen und ihr Bearbeitungsstand festgehalten werden verfügt über ein Makro, mit dem eine Email an den Besteller geschickt wird.
Klappt alles wunderbar, das Makro zieht sich Emailadresse und Betreff aus der Excel-Tabelle. Zudem fügt das Makro einen Abschnitt der Tabelle als Bild in die Email ein. Das sieht bisher so aus (ich weiß dass es noch viel zu verbessern gibt):

Dim OutApp As Object, Mail As Object, i
Dim Nachricht
If ActiveWorkbook.ActiveSheet.Range("G6") = "Versendet" Then
Range("B2:I21").Select
Selection.Copy
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "" & Range("M8") & ""
.CC = "Herr Mustermann"
.Subject = "Bestellstatus zu " & Range("D6") & ""
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
Application.Wait (Now + TimeValue("0:00:01"))
Application.SendKeys "Sehr geehrte Damen und Herren,"
Application.SendKeys "~~nachfolgend erhalten Sie den Status Ihrer Bestellung:~~%hvg~~"
Application.SendKeys "Des Weiteren erhalten Sie beigefügt in der ^+fAnlage^+f den  _
Versandschein zur weiteren Verwendung. ~~Für etwaige Rückfragen bzw. ergänzende Informationen stehe ich Ihnen gerne zur Verfügung.%h7", True
Durch %hvg wird der in Excel kopierte Bereich als Bild in den Email-Body eingefügt.
Durch %h7 überprüft Outlook die Namen der Email-Adressaten (immer intern)
Wie man sieht erfolgt die Eingabe des Email-Textes über .SendKeys.
Das klappt in 90 % der Fälle wunderbar, manchmal jedoch hinkt Outlook hinterher und der Text wird in die Excel-Tabelle statt in die neue Email eingegeben.
Ich würde das gerne beheben, indem der Text bereits bei .Body = "" eingegeben wird und nicht über .SendKeys, weiß aber nicht ob man dort den Text fett machen oder Excel-Bereiche als Bild einfügen kann.
Ist das möglich und wenn ja, wie?
Beste Grüße
Hauser

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Email aus Excel - .Body
09.06.2015 13:18:43
mumpel
Hallo!
Ohne HTML nicht. Also ".htmlBody" anstatt "body". Emails aus Excel - Teil 1 Mehr kann Google sagen.
Gruß, René
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

E-Mail aus Excel versenden: Nutzung des .Body und .htmlBody


Schritt-für-Schritt-Anleitung

Um eine E-Mail aus Excel zu versenden und den Text direkt im E-Mail-Body einzufügen, kannst du folgendes VBA-Makro verwenden. Dieses Beispiel zeigt, wie du sowohl den normalen Text als auch HTML-formatierte Inhalte in den Body der E-Mail einfügen kannst.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Dim OutApp As Object, Mail As Object

Sub SendEmail()
    Set OutApp = CreateObject("Outlook.Application")
    Set Mail = OutApp.CreateItem(0)

    With Mail
        .To = Range("M8").Value
        .CC = "Herr Mustermann"
        .Subject = "Bestellstatus zu " & Range("D6").Value
        .HTMLBody = "<p>Sehr geehrte Damen und Herren,</p>" & _
                    "<p>nachfolgend erhalten Sie den Status Ihrer Bestellung:</p>" & _
                    "<p>Des Weiteren erhalten Sie beigefügt in der Anlage den Versandschein zur weiteren Verwendung.</p>" & _
                    "<p>Für etwaige Rückfragen stehe ich Ihnen gerne zur Verfügung.</p>"
        .Display 'oder .Send, um die E-Mail direkt zu versenden
    End With

    Set Mail = Nothing
    Set OutApp = Nothing
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Führe das Makro aus, um die E-Mail zu senden.

Dieses Skript verwendet .HTMLBody anstelle von .Body, um HTML-Formatierungen für den E-Mail-Text zu ermöglichen.


Häufige Fehler und Lösungen

  • Problem: Der Text wird nicht korrekt in der E-Mail angezeigt.

    • Lösung: Stelle sicher, dass du .HTMLBody verwendest, um HTML-Formatierungen zu unterstützen. Prüfe auch, ob die E-Mail-Adresse in Zelle M8 korrekt eingegeben ist.
  • Problem: Outlook öffnet sich nicht oder kann keine E-Mail senden.

    • Lösung: Überprüfe, ob Outlook korrekt installiert und konfiguriert ist. Stelle sicher, dass Makros in Excel aktiviert sind.

Alternative Methoden

Falls du keine VBA-Programmierung verwenden möchtest, kannst du auch die Funktion "E-Mail" unter Datei > Teilen > E-Mail nutzen, um Daten aus Excel direkt in eine E-Mail einzufügen. Diese Methode ist jedoch weniger flexibel in Bezug auf Formatierung.


Praktische Beispiele

Hier sind einige Anwendungsbeispiele für die Verwendung des .htmlBody in E-Mails:

  • Lieferstatus-Benachrichtigung: Füge Tabelle und Bilder als HTML-Elemente in den Email-Body ein.
  • Newsletter: Erstelle einen stilisierten Newsletter mit Bildern und Links, indem du HTML-Formatierungen verwendest.
.HTMLBody = "<h1>Neuer Newsletter</h1>" & _
            "<p>Folge uns auf <a href='http://www.deinewebsite.de'>deiner Webseite</a></p>"

Tipps für Profis

  • Nutze CSS in deinem .HTMLBody, um das Design deiner E-Mails zu verbessern. Beachte jedoch, dass nicht alle E-Mail-Clients CSS gleich behandeln.
  • Teste deine E-Mail-Formate immer in verschiedenen E-Mail-Clients, um sicherzustellen, dass sie überall gut aussehen.
  • Verwende die SendKeys-Methode mit Vorsicht, da sie nicht immer zuverlässig funktioniert und unerwartete Ergebnisse liefern kann.

FAQ: Häufige Fragen

1. Kann ich Bilder direkt in den E-Mail-Body einfügen?
Ja, das ist möglich, indem du die Bilder als Base64-String in den HTML-Code einfügst. Alternativ kannst du die Bilder auch als Anhang hinzufügen.

2. Wie kann ich die E-Mail direkt senden, ohne sie vorher anzuzeigen?
Ändere .Display in .Send, um die E-Mail sofort zu versenden.

3. Was ist der Unterschied zwischen .Body und .HTMLBody?
.Body ist für reinen Text, während .HTMLBody es dir ermöglicht, HTML-Formatierungen (wie Schriftarten, Farben und Links) zu verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige