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

Forumthread: Mail Body mit mehreren zeilen und datei dazwischen

Mail Body mit mehreren zeilen und datei dazwischen
Oliver
Hallo zusammen
ich bin kurz vor dem verzweifen.
Ich möchte gerne aus Excel ein Mail generieren.
dies mit folgendem vba
____________________
.
.
.
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItemfromtemplate("P:\XXXX\Angebot für Kunde XY.oft")
.Subject = "Angebot für Kunde " & [b11] & " / Angebotsnummer xxxxxx"
.Body = "Hallo zusammen " & vbCrLf & vbCrLf & "Bitte für den Kunden " & [b11] & " folgendes Angebot erstellen" & vbCrLf
.attachments.Add datei
.Body = .Body & "Spezialitäten" & vbCrLf & vbCrLf & vbCrLf & "Folgende Bestandteile"
.display
End With
Set olApp = Nothing
ActiveWorkbook.Close
_________________
Der Output daraus sieht aber für mich ziemlich entäuschen aus
Hallo zusammen
Bitte für den Kunden XXXxxxXXX folgendes Angebot erstellen
Spezialitäten
Folgende Bestandteile
_________________
Dabei hätte ich die Datei gerne nach dem Text: bitte für den Kunden .....
Was mache ich falsch ? :-(
Bitte helft mir
Anzeige
AW: Mail Body mit mehreren zeilen und datei dazwischen
05.08.2011 12:51:14
Oliver
irgendwie stimmt die darstellung meines textes nicht
so sieht der Output aus
__________________
Hallo zusammen
Bitte für den Kunden XXXxxxXXX folgendes Angebot erstellen
Spezialitäten
Folgende Bestandteile ---Datei---
__________________
der Betrefftext wird übernommen wie er sollte
Anzeige
AW: Mail Body mit mehreren zeilen und datei dazwischen
05.08.2011 14:06:53
mumpel
Hallo!
".body" ist normaler Text. Der lässt sich nicht formatieren. Benutzte stattdessen ".htmlBody". Und Du musst den Text in einer Bodyzeile schreiben. Des Weiteren solltest Du "Range("B11").Value nutzen, nicht "[b11]".
Und wenn ich das richtig verstehe, möchtest Du die Datei als Link!? Einen solchen kann man nicht mit "Attachments.Add" in den Mailbody bringen, dazu benötigt man HTML.
Die Datei als Anhang in den Mailbody geht nicht. Es seii denn Du erstellst die Datei als Rich-Text-Mail. Rich-Text nützt Dir aber auch nichts wenn der Empfänger das nicht empfangen darf. Rich-Text-Mails sind IMHO ohnehin unfein.
Gruß, René
Anzeige
OT @René Darstellung von Code
05.08.2011 14:36:52
Code
Hallo,
Dein Code wird bei mir im Mozilla Version 5 in einer Zeile dargestellt.
Userbild
Gruß Tino
AW: OT @René Darstellung von Code
05.08.2011 14:56:16
Code
Das liegt daran, dass ich derzeit mit meinem Notebook an einem fremden Rechner im Internet bin. Auf dem Notebook habe ich das Add-In noch nicht angepasst. Muss ich erst noch nachholen. Im Internetexplorer sollte es aber korrekt dargestellt werden.
Anzeige
Mein FF macht's normal, René! Gruß owT
05.08.2011 17:35:01
Luc:-?
:-?
alte Version oT.
05.08.2011 18:21:40
Tino
AW: alte Version oT.
05.08.2011 19:59:24
mumpel
Ich habe auch eine alte Version des Tools auf dem Notebook. ;) Zuhause habe ich die angepasste Version, die muss ich nur noch auf mein Notebook übertragen.
Anzeige
Nachtrag
05.08.2011 15:03:21
mumpel
Und im Übrigen finde ich es unfair, dass immer mir die Schuld gegeben wird. Ich kann nichts dafür dass Firefox miserabel programmiert wurde und die Zeilenumbruchanweisung 
 nicht umsetzen kann bzw. erst gar nicht versteht/kennt. ;)
wollte nur daruf hinweisen und ...
05.08.2011 16:11:59
Tino
Hallo,
keine Schuldfrage klären ;-)
Gruß Tino
Anzeige
AW: Mail Body mit mehreren zeilen und datei dazwischen
05.08.2011 15:41:48
Oliver
Hallo René
besten dank für deine Hilfe, aber (sorry)
ich möchte das Mail als Rich-Text Mail, da es nur "Intern" also innerhalb der Firma versendet wird und
ich möchte die Datei als Anhang. Standardmässig wird bei mir jedes neue Mail als Rich-Text verfasst.
Es werden später noch weitere Dateien in das Mail kommen, diese aber dann von hand, weil diese von verschiedene Quellen kommen und das wahrscheinlich zu kpmpliziert wird
Danke weiterhin für deine Hilfe
Anzeige
AW: Mail Body mit mehreren zeilen und datei dazwischen
05.08.2011 20:01:51
mumpel
Bei Rich-Text hast Du aber Probleme mit dem Erstellen des Emailbodys. Da muss ich mal bei Gelegenheit ein paar Tests machen. Wird aber nicht vor Montag Nachmittag.
AW: Mail Body mit mehreren zeilen und datei dazwischen
05.08.2011 20:34:51
Oliver
ok, danke vielmals im voraus und schönes WE
;
Anzeige
Anzeige

Infobox / Tutorial

Mail Body mit mehreren Zeilen und Datei dazwischen


Schritt-für-Schritt-Anleitung

Um aus Excel eine E-Mail mit einem strukturierten Mail Body zu generieren, kannst du das folgende VBA-Skript verwenden. Achte darauf, dass du die Excel-Version 2010 oder höher nutzt, um die vollständigen Funktionen zu nutzen.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject (deinDateiname)" klickst und "Einfügen" > "Modul" wählst.

  3. Kopiere den folgenden Code in das Modul:

    Sub SendMail()
       Dim olApp As Object
       Set olApp = CreateObject("Outlook.Application")
    
       With olApp.CreateItem(0) ' 0 steht für eine neue Mail
           .Subject = "Angebot für Kunde " & Range("B11").Value & " / Angebotsnummer xxxxxx"
           .HTMLBody = "Hallo zusammen,<br><br>Bitte für den Kunden " & Range("B11").Value & " folgendes Angebot erstellen.<br><br>"
           .Attachments.Add "deinDateipfad\deineDatei.pdf" ' Pfad zur Datei anpassen
           .HTMLBody = .HTMLBody & "Spezialitäten:<br><br>Folgende Bestandteile:<br>"
           .Display
       End With
    
       Set olApp = Nothing
    End Sub
  4. Stelle sicher, dass der Pfad zur Datei korrekt ist und dass die Datei im richtigen Format vorliegt.

  5. Führe das Skript aus, um die E-Mail zu generieren.


Häufige Fehler und Lösungen

  • Fehler: Der Text im Mail Body wird nicht formatiert.

    • Lösung: Verwende .HTMLBody anstelle von .Body, damit du HTML-Formatierungen verwenden kannst.
  • Fehler: Die Datei wird nicht im Mail Body angezeigt.

    • Lösung: Um eine Datei als Anhang zu senden, nutze .Attachments.Add. Wenn du die Datei als Link einfügen möchtest, musst du den Link im HTML Body hinzufügen.
  • Fehler: "Range("B11").Value" funktioniert nicht.

    • Lösung: Stelle sicher, dass die Zelle B11 tatsächlich einen Wert enthält und dass du keinen Fehler bei der Referenzierung machst.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du auch:

  • Power Automate nutzen, um E-Mails automatisch aus Excel zu generieren.
  • Manuell eine E-Mail in Outlook erstellen und die erforderlichen Informationen aus Excel kopieren.

Praktische Beispiele

Hier sind zwei praktische Beispiele für den Excel Body:

  1. Einfacher Mail Body:

    .HTMLBody = "Guten Tag,<br><br>Hier ist Ihr Angebot:<br>..."
  2. Komplexer Mail Body mit Listen:

    .HTMLBody = "Hallo,<br><ul><li>Artikel 1</li><li>Artikel 2</li></ul>"

Tipps für Profis

  • Experimentiere mit verschiedenen HTML-Elementen, um deinen Mail Body ansprechender zu gestalten.
  • Teste dein Skript gründlich, um sicherzustellen, dass alle Anhänge korrekt eingefügt werden.
  • Nutze Variablen, um den Code flexibler zu gestalten, z.B. für mehrere Empfänger oder verschiedene Dateianhänge.

FAQ: Häufige Fragen

1. Kann ich den Mail Body auch im Rich-Text-Format erstellen?
Ja, dafür musst du die E-Mail als Rich-Text Mail formatieren. Beachte jedoch, dass nicht alle E-Mail-Clients dies unterstützen.

2. Wie füge ich mehrere Dateien an die E-Mail an?
Verwende mehrere .Attachments.Add-Befehle, um mehrere Dateien hinzuzufügen.

3. Funktioniert dieser Code auch in anderen Excel-Versionen?
Der Code sollte in Excel 2010 und neueren Versionen problemlos funktionieren. Bei älteren Versionen könnten einige Funktionen eingeschränkt sein.

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