Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Friedrichroda /
Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.

Zeilenumbrüche in Mail via VBA
#1
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
WIN 10 64-Bit Pro / EXCEL Microsoft Office 365 ProPlus 64-Bit
to top
#2
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
[-] Folgende(r) 1 Benutzer sagt Danke an bst für diesen Beitrag:
  • friedensbringer
to top
#3
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
WIN 10 64-Bit Pro / EXCEL Microsoft Office 365 ProPlus 64-Bit
to top
#4
Hi Olli,

versuche das mal mit Stylesheets.

http://de.selfhtml.org/html/transit/stylesheets.htm
http://de.selfhtml.org/css/eigenschaften/schrift.htm

cu, Bernd
[-] Folgende(r) 1 Benutzer sagt Danke an bst für diesen Beitrag:
  • friedensbringer
to top
#5
Hallo Bernd,

super danke!

lg

Olli
WIN 10 64-Bit Pro / EXCEL Microsoft Office 365 ProPlus 64-Bit
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste