VBA zu HTML Code umgewandelt - Zeilenumbrüche weg?

3 Antworten

Das ganze geht auch mit ShellExecute aus meiner Sicht etwas einfacher:

Public Sub mySendMail(ByVal Address As String, _
    ByVal Subject As String, ByVal body As String, _
    ByVal CC As String, ByVal BCC As String)

    Dim strCommand As String
    strCommand = ""
    If Len(Subject) Then strCommand = "&Subject=" & Subject
    If Len(body) Then strCommand = strCommand & "&Body=" & body
    If Len(CC) Then strCommand = strCommand & "&CC=" & CC
    If Len(BCC) Then strCommand = strCommand & "&BCC=" & BCC
    'strCommand = strCommand & "&attach=" & """" & "c:\temp.txt" & """"
    
    If Len(strCommand) Then
   mailto:rCommand, 1, 1) = "?"
    End If
    strCommailto:"mailto:" & Address & strCommand
    Call ShellExecute(0&, "Open", strCommand, "", "", 1)
End Sub 

Du wandelst die Textmail in eine HTML-Mail um. In HTML werden Umbrüche als <br /> dargestellt. Die vbCrLf werden von HTML als Umbrüche ignoriert.

Fabian13199 
Fragesteller
 21.01.2019, 13:49

Dann wird mir dort aber ein Syntaxfehler angezeigt :/

0
Suboptimierer  21.01.2019, 13:52
@Fabian13199

Du musst das schon als Zeichenkette verwenden. Du kannst dir ja eine eigene Konstante definieren.

Const htmlCrLf As String = "<br />"
0
Fabian13199 
Fragesteller
 21.01.2019, 13:56
@Suboptimierer

Vielen Dank. Ich weiß nicht warum man einen unerfahrenen Azubi auf so ein komplexes Thema schiebt :D

1

diese zeichen bei

body = "Sehr geehrte Frau x," & vbCrLf & _

musst du umwandeln lassen , vielleicht einfacher eine 2 funktion zu schreiben die nur den inhalt wandelt in <br> bzw auch umlaute etc . die convert funktion ist irgendwie eh nicht vollständig .