Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilenumbruch, wenn Textbox in Mail eingefügt wird

Zeilenumbruch, wenn Textbox in Mail eingefügt wird
05.09.2008 12:00:39
a_ke
Hallo,
ich versende mit dem folgenden Code ( von Rene Holtz - Danke !!!)
eine Mail mit Outlook.

Private Sub CommandButton2_Click()
'* 11.01.2008, 15:50:00                                 *
'* erstellt von Rene Holtz, http://www.rholtz-office.de _
a>
'* rene.holtz@rholtz-office.de                          *
On Error Resume Next
Dim empfänger As String
Dim Kopie As String
Dim aws As String
Dim olApp As Object
Kopie = TextBox5.Text
empfänger = TextBox1.Text
On Error Resume Next
Dim rng As Range
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
Set rng = Worksheets("Tabelle10").Range("$D$251:$BG$337")
.To = empfänger
.CC = Kopie
.Subject = TextBox2.Text
.htmlbody = TextBox3.Value & vbCrLf & vbCrLf & vbCrLf & RangetoHTML(rng)
If CheckBox1.Value = True Then .ReadReceiptRequested = True
.Display ' zeigt die Email an
Set rng = Nothing
Set olApp = Nothing ' beendet die Outlooksession.
End With
Unload Me
End Sub


In die TextBox3 gebe ich ein entsprechendes Anschreiben ein. Danach wird der Bereich aus
Tabelle10 angefügt.
Das klappt soweit wunderbar, allerdings werden die Zeilenumbrüche und das Textformat
der Textbox (Arial10) vollkommen ignoriert.
Gibt es eine Möglichkeit, die Zeilenumbrüche und das Format der Textbox beim Einfügen
in die Mail zu erhalten ?
Andre

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenumbruch, wenn Textbox in Mail eingefügt wird
05.09.2008 14:53:00
Gerd
Hi,
ersetz die vbCrLf durch Html-Tags.
mfg Gerd
AW: Zeilenumbruch, wenn Textbox in Mail eingefügt wird
05.09.2008 22:17:00
mumpel
Hallo!
Zeilenumbrüche einer Textbox kann man an die HTML-Mail übergeben, indem man jede Zeile in der Textbox mit dem HTML-Tag für den Zeilenumbruch abschließt. Hinter jede Zeile in der Textbox den HTML-Tag brcolor> (in Spitzklammern) setzen. Und zwar für jeden Zeilenumbruch einmal. Für eine Leerzeile muss man den Tag also zweimal setzen. Bei der Übergabe des Textes aus der Textbox an das Mailprogramm wird dieser Tag automatisch in einen Zeilenumbruch umgewandelt. Einen Beispielcode kann ich hier nicht setzen, da auch hier das br als HTML-Code erkannt und umgewandelt.
Gruß, René
Anzeige
AW: Zeilenumbruch, wenn Textbox in Mail eingefügt wird
05.09.2008 22:24:12
mumpel
Hallo!
@ Gerd
Das ersetzen von vbCrlf nützt gar nichts, da sich die Frage auf den Text in der Textbox bezieht. Ersetzt Du jetzt vbCrlf durch den HTML-Tag, dann wird der Text aus der Textbox trotzdem am Stück geschrieben. Siehe nächste Antwort.
Gruß, René
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilenumbruch in Textbox für HTML-Mails korrekt umsetzen


Schritt-für-Schritt-Anleitung

Um Zeilenumbrüche aus einer Textbox in eine HTML-Mail zu übertragen, befolge diese Schritte:

  1. Erstelle eine Userform in deiner Excel-Anwendung mit einer Textbox für den Text, der versendet werden soll.

  2. Füge einen CommandButton hinzu, der die E-Mail versendet.

  3. Verwende den folgenden VBA-Code in der Userform:

    Private Sub CommandButton2_Click()
       Dim empfänger As String
       Dim Kopie As String
       Dim olApp As Object
       Kopie = TextBox5.Text
       empfänger = TextBox1.Text
    
       Set olApp = CreateObject("Outlook.Application")
       With olApp.CreateItem(0)
           .To = empfänger
           .CC = Kopie
           .Subject = TextBox2.Text
           .htmlbody = Replace(TextBox3.Value, vbCrLf, "<br>") & RangetoHTML(Worksheets("Tabelle10").Range("$D$251:$BG$337"))
           .Display
       End With
       Set olApp = Nothing
    End Sub
  4. Ersetze vbCrLf durch <br>, um die Zeilenumbrüche korrekt zu formatieren. Mit diesem HTML-Zeilenumbruch wird jede neue Zeile in der Mail als neue Zeile angezeigt.


Häufige Fehler und Lösungen

  • Fehler: Zeilenumbrüche werden nicht angezeigt.

    • Lösung: Stelle sicher, dass du vbCrLf in deinem Code durch <br> ersetzt hast. Andernfalls wird der Text als ein Block dargestellt.
  • Fehler: Textformatierung wird ignoriert.

    • Lösung: HTML unterstützt verschiedene Formatierungen. Verwende HTML-Tags wie <b> für fett oder <i> für kursiv, um das gewünschte Format zu erzielen.

Alternative Methoden

Wenn du eine andere Methode zur Umsetzung von Zeilenumbrüchen in HTML-Mails ausprobieren möchtest, kannst du den Text auch direkt in HTML formatieren:

  1. Verwende Inline-Styles für die Textformatierung.
  2. Ersetze den Text der Textbox durch den HTML-Code direkt, um mehr Kontrolle über die Darstellung zu haben.

Hier ein einfacher Beispielcode:

Dim htmlText As String
htmlText = "<p style='font-family:Arial; font-size:10pt;'>" & _
            Replace(TextBox3.Value, vbCrLf, "<br>") & "</p>"
.htmlbody = htmlText & RangetoHTML(rng)

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du den Code anpassen kannst:

htmlbody = "<h1>Betreff: " & TextBox2.Text & "</h1>" & _
           Replace(TextBox3.Value, vbCrLf, "<br>") & _
           RangetoHTML(rng)

In diesem Beispiel wird der Betreff als Überschrift formatiert und der Text aus der Textbox wird mit HTML-Zeilenumbrüchen versehen.


Tipps für Profis

  • HTML-Formatierung: Nutze verschiedene HTML-Tags für eine ansprechendere E-Mail. Zum Beispiel:

    • <b> für fettgedruckten Text
    • <i> für kursiven Text
    • <ul> und <li> für Aufzählungen
  • Testen: Teste deine E-Mails immer mit verschiedenen E-Mail-Clients, um sicherzustellen, dass die Formatierung überall gleich aussieht.

  • Fehlerbehebung: Bei Problemen mit der Zeilenumbruch-Übertragung, überprüfe, ob die Textbox korrekt konfiguriert ist und dass keine unsichtbaren Zeichen im Text sind.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass der Text in der Textbox korrekt formatiert ist? Verwende HTML-Tags, um die Formatierung direkt in den Text einzufügen, bevor du ihn versendest.

2. Was kann ich tun, wenn die E-Mail nicht gesendet wird? Überprüfe, ob die Outlook-Anwendung richtig installiert und konfiguriert ist und dass alle erforderlichen Informationen in der Userform eingegeben wurden.

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