Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Schriftart in Mail aus Excel per VBA erstellt

Schriftart in Mail aus Excel per VBA erstellt
02.08.2019 09:08:30
Thomas
Hallo zusammen,
für euch wahrscheinlich ein Kinderspiel, für mich bis dato aber noch nicht zu lösen, da ich gestern mein 1. Makro mit Hilfe von YouTube erstellt habe :D
...habe mir für die Arbeit eine Exceldatei mit Makro erstellt aus der heraus ich die Datei als PDF erstellen und per Outlook versenden lassen möchte.
das drucken der PDF sowie die Erstellung der Mail klappt schon...allerdings habe ich jetzt in meiner Mail unterschiedliche Schriftarten innerhalb des "htmlbody"
...ja ich weiß man muss die Schriftart innerhalb des HTMLBody noch definieren, aber da fehlt noch das nötige wissen. habe zwar gestern schon das Internet durchstöbert aber keine funktionierende Lösung gefunden, daher wollte ich mal kurz bei den Profi´s nachfragen :-)
Hier mein bisheriges Makro (Die Mail soll die Standardschrift beibehalten im Mail-Text - Tahoma, Schriftgröße 10):
Sub PDFundSenden()
ChDir "C:\Users\tonndorfth\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\tonndorfth\Desktop\Speditionsbewertung 2019.pdf", openAfterPublish:=True
Dim Outlook As Object
Dim OutlookMailItem As Object
Dim myAttachements As Object
Set OutLookApp = CreateObject("outlook.application")
Set OutlookMailItem = OutLookApp.CreateItem(0)
Set myAttachments = OutlookMailItem.Attachments
With OutlookMailItem
.Display
.to = Range("S1")
.Subject = Range("S2")
.HTMLbody = Range("w1") & " " & Range("x1") & " " & Range("Y1") & " " & Range("Z1") & "
" & " _ _ _ _
" & Range("v1") & "
" & .HTMLbody myAttachments.Add "C:\Users\tonndorfth\Desktop\Speditionsbewertung 2019.pdf" '.send .Display End With Set OutookApp = Nothing Set OutlookMailItem = Nothing End Sub

Vielen Dank schon mal im Voraus. :-)
Gruß Thomas
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schriftart in Mail aus Excel per VBA erstellt
02.08.2019 09:40:21
volti
Hallo Thomas,
das einfachste ist, Deinen Body-Text in ein Font-Tag zu packen.
Beispiel:
.HTMLbody = "<font face=Arial color=black size=2>" & Range("w1") & " " & Range("x1") & " " & Range("Y1") & " " & Range("Z1") & "</font>"....
Falls es umfangreicher sein soll, oder eine spezielle Schriftart verwendet werden soll, empfiehlt sich der Span-Tag oder Div-Tag.
Beispiel:
.HTMLbody = "<span style='font-family:Courier New,Arial; font-size:10pt;background-color:#FFFFEE'>" & Range("w1") & " " & Range("x1") & " " & Range("Y1") & " " & Range("Z1") & "</span>"....
Probier's mal, ob's klappt und in Deinem Sinne ist.
viele Grüße
Karl-Heinz
Anzeige
AW: Schriftart in Mail aus Excel per VBA erstellt
02.08.2019 09:45:24
Thomas
Hallo Volti,
ja klappt wunder (habe Variante 1 genutzt) :-)
Vielen Dank :)
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Schriftart in Mail aus Excel per VBA ändern


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle ein neues Makro oder öffne dein bestehendes Makro.

  2. Füge den folgenden Code in dein Makro ein, um die Schriftart im HTML-Body der E-Mail zu ändern:

    Sub PDFundSenden()
       ChDir "C:\Users\tonndorfth\Desktop"
       ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
       "C:\Users\tonndorfth\Desktop\Speditionsbewertung 2019.pdf", openAfterPublish:=True
       Dim Outlook As Object
       Dim OutlookMailItem As Object
       Dim myAttachments As Object
       Set OutLookApp = CreateObject("outlook.application")
       Set OutlookMailItem = OutLookApp.CreateItem(0)
       Set myAttachments = OutlookMailItem.Attachments
       With OutlookMailItem
           .Display
           .to = Range("S1")
           .Subject = Range("S2")
           .HTMLbody = "<font face='Tahoma' size='2'>" & _
           Range("w1") & " " & Range("x1") & " " & Range("Y1") & " " & Range("Z1") & _
           "</font><br>" & _
           "<br>" & Range("v1") & "<br>" & .HTMLbody
           myAttachments.Add "C:\Users\tonndorfth\Desktop\Speditionsbewertung 2019.pdf"
           '.send
           .Display
       End With
       Set OutookApp = Nothing
       Set OutlookMailItem = Nothing
    End Sub
  3. Passe die Schriftart im .HTMLbody an, um eine andere Schriftart oder Größe zu verwenden, indem du den font face und size änderst.


Häufige Fehler und Lösungen

  • Problem: Die Schriftart wird nicht wie gewünscht angezeigt.

    • Lösung: Stelle sicher, dass du die Schriftart im HTML-Tag korrekt angibst. Beispiel: <font face='Tahoma' size='2'>.
  • Problem: E-Mail wird nicht gesendet oder bleibt im Entwurf.

    • Lösung: Überprüfe, ob die .Send-Zeile nicht auskommentiert ist, wenn du die E-Mail automatisch senden möchtest.

Alternative Methoden

Wenn du die Schriftart für das gesamte Dokument in Excel ändern möchtest, kannst du die Cells-Eigenschaft nutzen:

Sub SchriftartÄndern()
    Cells.Font.Name = "Tahoma"
    Cells.Font.Size = 10
End Sub

Diese Methode ändert die Schriftart für alle Zellen in deinem Arbeitsblatt, was nützlich sein kann, wenn du die excel schriftart für ganzes dokument ändern möchtest.


Praktische Beispiele

Wenn du die Schriftart in einer E-Mail speziell für Outlook ändern möchtest, kannst du den span-Tag verwenden:

.HTMLbody = "<span style='font-family:Arial; font-size:10pt;'>" & _
Range("w1") & " " & Range("x1") & " " & Range("Y1") & " " & Range("Z1") & _
"</span><br>" & _
"<br>" & Range("v1") & "<br>" & .HTMLbody

Diese Methode ermöglicht mehr Flexibilität in der Gestaltung der E-Mail.


Tipps für Profis

  • Nutze CSS-Stile im HTML-Body für komplexere Layouts, um das Design deiner E-Mails zu verbessern.
  • Teste dein Makro mit verschiedenen Schriftarten, um herauszufinden, welche am besten in Outlook angezeigt wird.
  • Stelle sicher, dass du die Outlook Standardschrift entsprechend einstellst, um die Konsistenz deiner E-Mails zu gewährleisten.

FAQ: Häufige Fragen

1. Wie kann ich die Standardschrift in Outlook ändern?
Du kannst die Standardschrift in Outlook unter "Datei" > "Optionen" > "E-Mail" > "Briefpapier und Schriftarten" einstellen.

2. Funktioniert das Makro in Excel 2016?
Ja, das Makro sollte in Excel 2016 und neueren Versionen problemlos funktionieren.

3. Was mache ich, wenn die Schriftart nicht korrekt angezeigt wird?
Überprüfe die HTML-Tags und stelle sicher, dass die Schriftart auf dem Computer, auf dem die E-Mail empfangen wird, installiert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige