Clever-Excel-Forum

Normale Version: Zeilenumbruch in Email
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ja, ich habe das Forum durchsucht, ich habe gegoogelt - und ich hätte nicht gedacht, dass ich nochmal eine so "doofe" Frage stellen würde...
Aber mein Makro macht nicht das, was es soll.

Ich muss eine Datei per Email verschicken, ein schöner Text soll dazu erstellt werden - funzt alles soweit einwandfrei.
Nur leider hat die Mail (ist ein html-Text) einen Zeilenumbruch!

Mein Versand sieht so aus:

Code:
Sub DateiVerschicken()

    Dim aws As String
    Dim olapp As Object
    Dim Derivatsnummerchen As String
    ActiveWorkbook.Save
    aws = ActiveWorkbook.FullName
    Nummerchen = Worksheets("Bedarfe_fuer_EVP").Range("B2").Value
    Set olapp = CreateObject("Outlook.Application")
    With olapp.CreateItem(0)
'Empänger definieren:
        .To = Worksheets("Empfaenger_Mail_6Wochen_vor_EVP").Range("J4").Value & ";" & _
            Worksheets("Empfaenger_Mail_6Wochen_vor_EVP").Range("J6").Value & ";" & _
            Worksheets("Empfaenger_Mail_6Wochen_vor_EVP").Range("J7").Value & ";" & _
            Worksheets("Empfaenger_Mail_6Wochen_vor_EVP").Range("J8").Value & ";" & _
            Worksheets("Empfaenger_Mail_6Wochen_vor_EVP").Range("B5").Value
'Betreff der E-Mail
          .Subject = "Daten für erweiterten Vorprozess " & Nummerchen
'Email-Text
          .HtmlBody = Worksheets("Empfaenger_Mail_6Wochen_vor_EVP").Range("A18").Value & Chr(13) & Chr(13) & vbCrLf & vbCrLf & _
            Worksheets("Empfaenger_Mail_6Wochen_vor_EVP").Range("A19").Value & " " & Worksheets("Empfaenger_Mail_6Wochen_vor_EVP").Range("A20").Value & " " & Worksheets("Empfaenger_Mail_6Wochen_vor_EVP").Range("A21").Value & Chr(13) & Chr(13) & _
            Worksheets("Empfaenger_Mail_6Wochen_vor_EVP").Range("A22").Value & Chr(13) & _
            Worksheets("Empfaenger_Mail_6Wochen_vor_EVP").Range("A23").Value & Chr(13) & _
            Worksheets("Empfaenger_Mail_6Wochen_vor_EVP").Range("A24").Value & Chr(13) & Chr(13) & _
            Worksheets("Empfaenger_Mail_6Wochen_vor_EVP").Range("A25").Value & Chr(13) & Chr(13) & _
            Worksheets("Empfaenger_Mail_6Wochen_vor_EVP").Range("A26").Value
          .Attachments.Add aws
          .display
    End With
    Set olapp = Nothing

End Sub


Ich habe also sowohl Chr(13) als auch  vbCrLf im Code.
Ich habe es ausprobiert, was passiert, wenn ich den Email-Text direkt in den Code schreibe ("Hallo Kollegen, " &  vbCrLf &  vbCrLf & _


NIX FUNZT!!!!
Und isch reg misch uff Wink

Nein, genug geschimpft - hab ich irgendwo einen Denkfehler, ist mein Excel einfach doof heute (OK, war gestern schon das gleiche...) oder verwende ich einen Befehl falsch?

Wäre über Hilfe sehr dankbar
Daniel
Hallo Daniel,

da Du das HTML-Emailformat in Deiner eMail verwendest, mit der man ja auch den Text schön formatieren kann, musst Du auch die HTML-Tags verwenden.

Die Zeilenumbruchszeichen vbLf und vbCr sind hier wirkungslos. Nutze anstelle dessen "<br>"

Gruß
Karl-Heinz

Nachtrag.

Hier auf die Schnelle und ungetestet. Man kann das auch noch etwas straffen....

Code:

Sub DateiVerschicken()
  Dim aws As String, WSh As Worksheet
  Dim Derivatsnummerchen As String
  Dim Nummerchen
  ActiveWorkbook.Save
  aws = ActiveWorkbook.FullName
  
  Set WSh = Worksheets("Empfaenger_Mail_6Wochen_vor_EVP")
  Nummerchen = Worksheets("Bedarfe_fuer_EVP").Range("B2").Value
  
  With CreateObject("Outlook.Application").CreateItem(0)
'Empänger definieren:
      .To = WSh.Range("J4").Value & ";" & _
            WSh.Range("J6").Value & ";" & _
            WSh.Range("J7").Value & ";" & _
            WSh.Range("J8").Value & ";" & _
            WSh.Range("B5").Value
'Betreff der E-Mail
       .Subject = "Daten für erweiterten Vorprozess " & Nummerchen
'Email-Text
       .HtmlBody = WSh.Range("A18").Value & "<br><br><br><br>" & _
          WSh.Range("A19").Value & " " & WSh.Range("A20").Value & _
          " " & WSh.Range("A21").Value & "<br><br>" & _
          WSh.Range("A22").Value & "<br>" & _
          WSh.Range("A23").Value & "<br>" & _
          WSh.Range("A24").Value & "<br><br>" & _
          WSh.Range("A25").Value & "<br><br>" & _
          WSh.Range("A26").Value
       .Attachments.Add aws
       .Display
  End With

End Sub

_________
viele Grüße
Karl-Heinz
Hi,

ja, an so etwas hab ich nicht gedacht -->
hatte ich irgendwo gesehen aber nicht verstanden --> jetzt ist es klar.

Chr(13) war immer so praktisch - und hatte bei allen "Hinweisboxen" im Makro immer einwandfrei funktioniert....

Vielen herzlichen Dank für die Antwort und für die Erklärung!
Möge dir der Osterhase viel Schokolade und noch mehr Eier bringen!

Grüße
Daniel