Clever-Excel-Forum

Normale Version: Zeilenumbrüche in Mail via VBA
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe dieses Makro gefunden und für mich angepasst:

http://www.herber.de/forum/archiv/572to5...enden.html

Funktioniert soweit ganz gut, aber ich hätte gerne in der Mail Zeilenumbrüche.

Code:
Sub Excel_Workbook_via_Outlook_Senden(speicherpfad, dateiname, vbvorname, vbnachname, vbmailadresse)

    Application.DisplayAlerts = False

    Dim MyMessage As Object, MyOutApp As Object
    Dim Qe As Integer
    Dim AWS As String
    Dim erstellungsdatum As Date
    
    erstellungsdatum = Format(Date, "YYYY-MM-DD")

    'Aktive Arbeitsmappe wird als mail gesendet
    'Übergabe des Mappennames an die Variable
    AWS = ThisWorkbook.FullName
    
    AWS = speicherpfad & dateiname
    'Outlook Object erstellen
    Set MyOutApp = CreateObject("Outlook.Application")
    'Outlook Nachricht erstellen
    Set MyMessage = MyOutApp.CreateItem(0)
    With MyMessage
        'Empfänger
        .To = vbmailadresse
        'Betreff
        .Subject = dateiname
        .Attachments.Add AWS
        
        'Hier wird ein normaler Text erstellt
        '.Body = "Beiliegend die " & dateiname
        
        'Hier wird eine HTML Mail erstellt
        'Dies kann zu Problemen führen, wenn der Empfänger
        'nur TEXT Dateien empfangen darf.
        .HTMLBody = "Hallo Herr " & vbnachname & "," & vbCrLf & "beiliegend finden Sie die aktuelle Aufstellung per " & erstellungsdatum & "." & vbCrLf & "Bei Rückfragen stehen wir Ihnen gerne zur Verfügung."
        
        'Hier wird die Mail nochmals angezeigt
        '.Display
        
        'Hier wird die Mail gleich in den Postausgang gelegt und gesendet
        .Send
        
    End With
    'Outlook schliessen
'    MyOutApp.Quit
    'Variablen leeren
    Set MyOutApp = Nothing
    Set MyMessage = Nothing
    
    Windows(dateiname).Activate
    ActiveWindow.Close
    
    Application.DisplayAlerts = True
    
End Sub

Irgendwie passiert trotz den & vbCrLf & nichts.

Hat da eventuell jemand eine Idee für mich?

Danke und lg

Olli
Hi,

in HTML werden normale Leerzeichen und Zeilenumbrüche ignoriert.

Nimm Absatz Tags:

Code:
<p>....</p>

oder einen 'erzwungenen' Zeilenumbruch:

Code:
<br>

Siehe:

http://de.selfhtml.org/html/text/absaetze.htm
http://de.selfhtml.org/html/text/zeilenumbruch.htm

cu, Bernd
Hallo Bernd,

vielen Dank - funktioniert soweit.
Kann man denn den Text auch noch in einer bestimmten Schriftart formatieren?
So standardmäßig wird Times verwendet und ich hätte gerne Arial...

Code:
.HTMLBody = "Hallo Herr " & vbnachname & "," & "<br>" & "<br>" & "beiliegend finden Sie die aktuelle Aufstellung  per " & erstellungsdatum & "." & "<br>" & "<br>" & "Bei Rückfragen stehen wir Ihnen gerne zur Verfügung." & "<br>" & "<br>" & "Ihre Abteilung XY" & "<br>" & "xy@bla.at"

Danke und lg

Olli
Hallo Bernd,

super danke!

lg

Olli