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

Forumthread: htmlBody für Outlook aus Textbox mehrzeilig

htmlBody für Outlook aus Textbox mehrzeilig
Matthias
Hallo (Level bitte nicht so ernst nehmen)
htmlBody für Outlook aus Textbox
Folgender Codeausschnitt:
Dim OleApp As Object
Set OleApp = CreateObject("Outlook.Application")
With OleApp.CreateItem(0)
.htmlBody = Textbox1.Text
.display
End With
Set OleApp = Nothing
Ich möchte den Inhalt der Textbox1(Multiline=True) als Textkörper in eine Email generieren.
Habe ich aber nun 2 Zeilen in der TextBox1 schreibt mir Excel alles in eine Zeile (im .htmlBody)
Gibt es nun eine einfache Möglichkeit den Inhalt der Textbox1,
wenn sie mehrzeilig ist auch im Textkörper der Email mehrzeilig darzustellen?
Oder muß man Zeile für Zeile die Texte auslesen und manuell mit einem Zeilenumbruch versehen?
Danke schon mal fürs Lesen
Gruß Matthias
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: htmlBody für Outlook aus Textbox mehrzeilig
08.03.2010 17:42:32
Tino
Hallo,
versuch es mal so
.htmlBody = Replace(TextBox1.Text, vbCrLf, "<br>")
Gruß Tino
Perfekt , :o) DANKE oT
08.03.2010 17:51:15
Matthias
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

htmlBody für Outlook aus einer mehrzeiligen Textbox


Schritt-für-Schritt-Anleitung

Um den Inhalt einer mehrzeiligen Textbox in Excel VBA in das htmlBody einer Outlook-E-Mail zu integrieren, kannst du die folgenden Schritte befolgen:

  1. Textbox erstellen: Stelle sicher, dass deine Textbox (Textbox1) die Eigenschaft Multiline auf True hat.

  2. VBA-Editor öffnen: Drücke Alt + F11, um den VBA-Editor zu öffnen.

  3. Code einfügen: Füge den folgenden Code in das entsprechende Modul ein:

    Dim OleApp As Object
    Set OleApp = CreateObject("Outlook.Application")
    With OleApp.CreateItem(0)
        .htmlBody = Replace(TextBox1.Text, vbCrLf, "<br>")
        .display
    End With
    Set OleApp = Nothing
  4. E-Mail testen: Starte das Makro und überprüfe, ob der Inhalt der Textbox in der E-Mail mehrzeilig dargestellt wird.


Häufige Fehler und Lösungen

  • Problem: Der Text erscheint in einer einzigen Zeile.

    • Lösung: Stelle sicher, dass du den Code Replace(TextBox1.Text, vbCrLf, "<br>") verwendest. Dieser ersetzt die Zeilenumbrüche in der Textbox durch HTML-Zeilenumbrüche.
  • Problem: Outlook öffnet sich nicht.

    • Lösung: Überprüfe, ob Microsoft Outlook korrekt installiert und konfiguriert ist. Achte darauf, dass du die richtigen Berechtigungen hast, um VBA-Skripte auszuführen.

Alternative Methoden

Wenn du eine andere Herangehensweise bevorzugst, kannst du den MailItem-Objekt verwenden, um das htmlBody zu setzen:

Dim Mail As Object
Set Mail = CreateObject("Outlook.Application").CreateItem(0)
Mail.Subject = "Betreff"
Mail.To = "empfaenger@example.com"
Mail.htmlBody = Replace(TextBox1.Text, vbCrLf, "<br>")
Mail.Display

Diese Methode ist besonders nützlich, wenn du zusätzlich Betreff und Empfänger definieren möchtest.


Praktische Beispiele

  1. E-Mail mit mehrzeiligem Text: Du hast in deiner Textbox folgenden Text:

    Hallo,
    dies ist die erste Zeile.
    Und dies ist die zweite Zeile.

    Der resultierende HTML-Code in Outlook wird wie folgt aussehen:

    Hallo,<br>
    dies ist die erste Zeile.<br>
    Und dies ist die zweite Zeile.
  2. E-Mail mit Formatierung: Wenn du zusätzlich Formatierungen wie Fettdruck benötigst, kannst du HTML-Tags direkt in die Textbox einfügen.


Tipps für Profis

  • Verwende vbNewLine anstelle von vbCrLf, wenn du plattformübergreifend arbeiten möchtest.
  • Achte darauf, die richtige Fehlermanagement-Routine zu implementieren, um Probleme beim Senden der E-Mail zu vermeiden.
  • Teste deine VBA-Skripte regelmäßig in einer sicheren Umgebung, insbesondere wenn du E-Mails versendest.

FAQ: Häufige Fragen

1. Warum wird mein Text immer noch in einer Zeile angezeigt?
Überprüfe, ob die Textbox tatsächlich mehrzeilig ist und dass der Replace-Befehl korrekt in deinem Code implementiert ist.

2. Kann ich HTML-Formatierungen im htmlBody verwenden?
Ja, du kannst HTML-Tags direkt in die Textbox eingeben, und sie werden im htmlBody korrekt dargestellt. Achte jedoch darauf, dass der Text korrekt formatiert ist, um darstellungsfehler zu vermeiden.

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