Clever-Excel-Forum

Normale Version: [Excel] Übernahme der Schriftgestaltung in den Emailtext
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Es wird öfters mal gefragt wie man die Textgestaltung aus Excel in einen Emailtext übernehmen kann. Hier ein kleines Beispiel. Im Beispiel wird nur der Name (Anrede) übernommen, der Rest des Textes wird in Standardeinstellung dargestellt. Damit die Textfarbe übernommen werden kann wird sie zuvor mit der Funktion "FarbeInHtml" in HTML-Farbangaben umgewandelt.


Arbeitsblatt mit dem Namen 'E-Mail'
 ABC
1männlichXmax@mustermann.de
2   
3Max Mustermann  

ZelleSchriftartSchriftgrößeExtras/UnterstrichenInhalt
A3Arial Narrow [Fett, Kursiv]14 Max Mustermann



Sub Email_versenden()
    Dim olApp      As Object
    Dim strAnrede  As String
    Dim strName    As String
    Dim strFntClr  As String
    Dim strFntNme  As String
    Dim strFntWht  As String
    Dim strFntSiz  As String
    Dim strFntStl  As String
    Dim strFntUdl  As String
    
        Rem Festlegung der Anrede 
        If Worksheets("E-Mail").Range("A1").Value = "männlich" Then
               strAnrede = "Sehr geehrter Herr "
        ElseIf Worksheets("E-Mail").Range("A1").Value = "weiblich" Then
               strAnrede = "Sehr geehrte Frau "
        Else
               Exit Sub
        End If
        strName = Range("A3").Value

        Rem Auslesen der Schriftgestaltung 
        strFntClr = FarbeInHtml(Range("A3").Font.Color)
        strFntNme = Range("A3").Font.Name
        strFntSiz = Range("A3").Font.Size
        strFntWht = IIf(Range("A3").Font.Bold, "bold", "standard")
        strFntStl = IIf(Range("A3").Font.Italic, "italic", "standard")

               
        Rem Erstellen der Email 
        Set olApp = CreateObject("Outlook.Application")
            With olApp.CreateItem(0)
                .To = Worksheets("E-Mail").Range("C1").Value
                .Subject = "Ihre Anforderung"
                .htmlBody = strAnrede & "<span style='color:" & strFntClr & "; " & _
                            "font-family:" & strFntNme & "; font-size:" & strFntSiz & _
                            "pt; font-weight:" & strFntWht & "; font-style:" & strFntStl & _
                            ";'>" & strName & "</span>,<br><br>" & _
                            "anbei gewünschte Unterlagen.<br><br>" & _
                            "Mit freundlichen Grüßen,<br>Emil Bergbauer"
                                
                    .Display
                End With
            

End Sub

Public Function FarbeInHtml(ByVal lngRGB As Long) As String
FarbeInHtml = Right$("000000" & Hex$(lngRGB), 6)
FarbeInHtml = "#" & Right$(FarbeInHtml, 2) & Mid$(FarbeInHtml, 3, 2) & Left$(FarbeInHtml, 2)
End Function


VBA/HTML - CodeConverter für Office-Foren, AddIn für Excel/Word 2000-2013 - komplett in VBA geschrieben von Lukas Mosimann. Projektbetreuung durch mumpel

Code erstellt und getestet in Office 15