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

Forumthread: Email aus Excel versenden - Schriftart ändern

Email aus Excel versenden - Schriftart ändern
30.07.2015 10:14:25
Daniel
Hallo zusammen
Ich bin leider bezüglich VBA ein Anfänger und brauch Eure Hilfe.
Ich möchte aus Excel heraus eine Email mit der Datei im Anhang versenden. Dies funktioniert bereits. Leider wird die Schriftart Times New Roman verwendet, ich darf allerdings nur Verdana benutzen. Hat jemand einen Tipp, wie ich dies im Makro einbauen kann?
Ich versteh leider auch den Unterschied zwischen .Body und .HTMLBody nicht :-(
Aber es funktioniert irgendwie...
Vielen Dank schon mal für Eure Hilfe!
Hier das Makro:

Sub Email_versenden()
Dim MyMessage As Object, MyOutApp As Object
Dim Qe As Integer
Dim AWS As String
If ThisWorkbook.Saved = False Then
Qe = MsgBox("Diese Mappe wurde noch nicht gespeichert, und kann nicht versandt werden!"  _
_
_
_
_
& Chr$(13) & "Soll die Datei gespeichert werden?", vbInformation + vbYesNo, " _
Sendefehler")
If Qe = vbNo Then
MsgBox "Sendevorgang abgebrochen"
Exit Sub
Else
If Right(ThisWorkbook.Name, 3)  "xls" Then
Application.Dialogs(xlDialogSaveAs).Show
Else
ThisWorkbook.Save
End If
End If
End If
AWS = ThisWorkbook.FullName
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
'Empfänger
.To = "Max.Mustermann@irgendwo.de"
.Subject = "Testmeldung von Excel2000 " & Date & Time
.Attachments.Add AWS
.Body = "Hallo Max 
Anbei übersende ich Dir die aktuelle Liste.
Liebe _ _ _ _ Grüsse
Max" .HTMLBody = "Hallo Max
Anbei übersende ich Dir die aktuelle Liste.
_ Liebe Grüsse
Max" .Display End With Set MyOutApp = Nothing Set MyMessage = Nothing End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Email aus Excel versenden - Schriftart ändern
30.07.2015 10:56:47
mumpel
Hallo!
"Body" ist eine reine Textmail (Nur-Text-Mail), da ist keine Textformatierung möglich.
HTML-Body dagegen erstellt eine Email im HTML-Format, da ist dann auch Textformatierung möglich. Jedoch versteht Outlook nicht jeden HTML-Tag. Zum Formatieren von text kannst Du auch den Word-Inspector nehmen, sieh Dir dazu mal meinen Workshop an. =>
Email erstellen - Teil 3
Email Email erstellen - Teil 4 - Übernahme der Schriftgestaltung
Gruß, René

Anzeige
AW: Email aus Excel versenden - Schriftart ändern
30.07.2015 11:48:30
Daniel
Sorry, es klappt nicht. Er nimmt mir einfach die Schriftart "Verdana" nicht.
Der untere Teil sieht jetzt so aus:
AWS = ThisWorkbook.FullName
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
'Empfänger
.To = "Max.Mustermann@irgendwo.de"
.Subject = "Testmeldung von Excel2000 " & Date & Time
.Attachments.Add AWS
'Rem Word-Editor-Objekt erstellen (zum Formatieren erforderlich)
Set wdApp = .GetInspector
Set wdDoc = wdApp.WordEditor
Set wdRange = wdDoc.Range
wdRange.WholeStory
'Rem Emailtext formatieren
With wdRange
.Font.Name = "Verdana"
.Font.Size = 12.5
.HTMLBody = "Hallo Max
Anbei übersende ich Dir die aktuelle Liste.
Liebe Grüsse
Max"
.Display
End With
Set MyOutApp = Nothing
Set MyMessage = Nothing
End With
End Sub

Anzeige
AW: Email aus Excel versenden - Schriftart ändern
30.07.2015 11:55:14
mumpel
Hast Du einen Verweis auf die Word-Object-Library gesetzt? Wenn Du "On Error Resume Next" benutzt solltest Du diese Fehleranweisung mal entfernen. Am Anfang eines jeden Moduls die Anweisung Option Explicit setzen, damit erzwingst Du die Variablendeklaration und es werden Fehler angezeigt.

Anzeige
AW: Email aus Excel versenden - Schriftart ändern
30.07.2015 11:59:32
Daniel
Sorry, ich versteht nur Bahnhof. Ich kenn mich mit VBA leider gar nicht aus.

AW: Email aus Excel versenden - Schriftart ändern
30.07.2015 12:03:46
mumpel
Schlechte Voraussetzung. Du solltest Dich erstmal mit den Grundlagen in VBA befassen.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Email aus Excel versenden und Schriftart anpassen


Schritt-für-Schritt-Anleitung

  1. VBA-Umgebung öffnen: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.
  2. Neues Modul erstellen: Klicke auf Einfügen und wähle Modul.
  3. Makro einfügen: Kopiere das folgende Makro und füge es in das Modul ein.
Sub Email_versenden()
    Dim MyMessage As Object, MyOutApp As Object
    Dim AWS As String
    AWS = ThisWorkbook.FullName
    Set MyOutApp = CreateObject("Outlook.Application")
    Set MyMessage = MyOutApp.CreateItem(0)
    With MyMessage
        .To = "Max.Mustermann@irgendwo.de"
        .Subject = "Testmeldung von Excel " & Date & Time
        .Attachments.Add AWS
        'Rem Word-Editor-Objekt erstellen (zum Formatieren erforderlich)
        Set wdApp = .GetInspector
        Set wdDoc = wdApp.WordEditor
        Set wdRange = wdDoc.Range
        wdRange.WholeStory
        'Rem Emailtext formatieren
        With wdRange
            .Font.Name = "Verdana"
            .Font.Size = 12
            .HTMLBody = "Hallo Max <br>Anbei übersende ich Dir die aktuelle Liste. <br>Liebe Grüsse <br>Max"
            .Display
        End With
    End With
    Set MyOutApp = Nothing
    Set MyMessage = Nothing
End Sub
  1. Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle Email_versenden und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Schriftart wird nicht übernommen: Stelle sicher, dass du die Word-Object-Library in den Verweisen aktiviert hast. Gehe zu Extras > Verweise und aktiviere den Microsoft Word xx.x Object Library.
  • Outlook öffnet nicht: Überprüfe, ob Outlook als Standard-Mailprogramm festgelegt ist.

Alternative Methoden

Anstatt VBA zu verwenden, kannst du auch die Mail-Funktion in Excel nutzen, um Emails zu versenden. Beachte jedoch, dass die Schriftart in diesem Fall nicht geändert werden kann.


Praktische Beispiele

Wenn du eine E-Mail versenden möchtest, die eine andere Schriftart verwenden soll, kannst du das folgende Beispiel verwenden:

Sub EmailMitAndererSchriftart()
    Dim MyMessage As Object, MyOutApp As Object
    Set MyOutApp = CreateObject("Outlook.Application")
    Set MyMessage = MyOutApp.CreateItem(0)
    With MyMessage
        .To = "Max.Mustermann@irgendwo.de"
        .Subject = "Testmail"
        .HTMLBody = "<font face='Verdana' size='3'>Hallo Max,<br>Anbei die Liste.<br>Grüsse,<br>Max</font>"
        .Display
    End With
End Sub

In diesem Beispiel wird die HTML-Schriftart direkt im E-Mail-Text festgelegt.


Tipps für Profis

  • VBA-Fehlermeldungen optimieren: Verwende Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, potenzielle Fehler zu vermeiden.
  • HTML-Formatierung: Nutze die Möglichkeiten von HTML, um die Schriftart und -farbe in deinem E-Mail-Text individuell zu gestalten. Du kannst CSS direkt in deine HTML-Body einfügen.

FAQ: Häufige Fragen

1. Wie ändere ich die Standardschriftart in Outlook?
Gehe zu Datei > Optionen > E-Mail > Briefpapier und Schriftarten, um die Standardschriftart für neue Nachrichten festzulegen.

2. Kann ich die Schriftart im HTML-Body anpassen?
Ja, du kannst die Schriftart im HTML-Body anpassen, indem du HTML-Tags wie <font> oder CSS verwendest.

3. Warum funktioniert die Schriftartänderung nicht?
Stelle sicher, dass die richtige Schriftart in deinem VBA-Code festgelegt ist und dass du die Word-Object-Library aktiviert hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige