[VBA Excel] - e-mail senden mit fetter Schrift

w00tw000t

Lt. Junior Grade
Registriert
Feb. 2011
Beiträge
364
Hallo,

ich würde gerne eine e-Mail aus VBA an GoogleMail senden. Das funktioniert soweit auch sehr gut.
Dazu sollte aber die ein oder andere Zeile fett angezeigt werden und das funktioniert wiederum gar nicht..

Habe nun mit HTML Code probiert das Problem zu lösen, doch leider wird mir dann in GoogleMail nur der Code angezeigt.

Den Textbody hatte ich auf Html geändert gehabt, hatte aber nicht funktioniert.

Hat jemand eine Idee wie ich das Problem lösen kann?

Vielen Dank im Voraus!

Code:
    With Sheets("Tabelle1")
    For i = 8 To 20
        If Range("A" & zeilen).Font.bold = True Then
            strbody = "<html><head></head><body>"
            strbody = strbody + "Heres some <u>underlined</u> text heres some <b>bold</b>"
            strbody = strbody + "</body></html>"
            zeilen = zeilen + 1
        Else
            strbody = strbody & _
                .Range("A" & zeilen) & vbNewLine
            zeilen = zeilen + 1
        End If
    Next
    End With
     
    With iMsg
        Set .Configuration = iConf
        .To = uf_e_mail.tb_to.Text
        .CC = uf_e_mail.tb_cc.Text
        .BCC = uf_e_mail.tb_bcc.Text
        .From = uf_e_mail.tb_from.Text & uf_password.tb_e_mail.Text
        .Subject = uf_e_mail.tb_subject.Text
        .TextBody = strbody
        .Send
    End With
 
Bin mir nicht sicher, aber erste kurze Idee:

Du läufst durch mehrere Zeilen. Für den Fall, dass dort der Inhalt Fett ist, wird der strbody Text geschrieben. Dann hast du aber am Schluss in einer Mail mehrmals einen Header+Body, falls die Bedingung für mehrere Zeilen erfüllt ist - darf das nicht nur ein mal vorkommen?
 
Zuletzt bearbeitet:
Dr. Wuah schrieb:
Bin mir nicht sicher, aber erste kurze Idee:

Du läufst durch Zeilen 1 bis 8. Für den Fall, dass dort mehrere Zeilen Fett sind, wird der strbody Text mehrmals geschrieben. Dann hast du aber am Schluss in einer Mail mehrmals einen Header+Body und so weiter - darf das nicht nur ein mal vorkommen?

Zeilen 1-8 werden übersprungen. Die Zeilen fangen bei 8 an.
Aber stimmt, nach dem Code würde es mehrere Bodys geben, was nicht Sinn der Sache ist, danke!

Theoretisch sollte es so sein:
Code:
zeilen = 8
    With Sheets("Tabelle1")
    For i = 8 To 20
        If Range("A" & zeilen).Font.bold = True Then
            strbody = strbody + Range("A" & zeilen).Font.bold & vbNewLine
            zeilen = zeilen + 1
        Else
            strbody = strbody & _
                .Range("A" & zeilen) & vbNewLine
            zeilen = zeilen + 1
        End If
    Next
    End With

Nur das natürlich Zeile 5 so nicht funktioniert :D

Edit: Solved!
 
Zuletzt bearbeitet:
Zurück
Oben