Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen

Email formatieren

Betrifft: Email formatieren von: Oliver
Geschrieben am: 01.05.2014 22:29:30

Hallo liebe Gemeinde,

bevor ich meine Frage stelle. Vielen Dank an die vielen Profis unter Euch, Ihr habt mir das Leben schon so einige Male sehr viel einfacher gemacht in dem ich in diesem Forum etwas lernen konnte.

Nun zu meiner Frage...

Ich habe folgenden Code zur Erstellung eines PDF und zum anhängen an eine Email. Leider ist es mir bisher noch nicht gelungen, die Email anschließend in ein Format (bei mir Schriftart "Calibri"; Schriftgröße "11") zu formatieren. Ich würde mich sehr über Hilfe von Euch freuen.

HIER MEIN CODE:

Sub AlsPDFSpeichern_und_email_begruessung()
Dim pdfName As String
Dim pdfOpenAfterPublish As Boolean
Dim olApp As Object
Dim olOldBody As String
Sheets("Begrüßung").Visible = True
Sheets("Begrüßung").Select

Rem Rückfragen, ob Datei nach dem Erstellen geöffnet werden soll
If MsgBox("Soll die PDF-Datei nach dem Erstellen angezeigt werden?", vbYesNo, "PDF anzeigen?") = _
 vbYes Then pdfOpenAfterPublish = True

Rem Pfad und Name der PDF-Datei
pdfName = ThisWorkbook.Path & "\" & Cells(2, 1).Value & "_" & ActiveSheet.Name & ".pdf"

Rem PDF-Datei erstellen. Funktioniert nur in Excel 2007 oder höher, nicht in Excel 2003 oder ä _
lter
'ActiveWorkbook.ExportAsFixedFormat
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, _
                                   Quality:=xlQualityStandard, IncludeDocProperties:=False,  _
IgnorePrintAreas:=False, _
                                   OpenAfterPublish:=IIf(pdfOpenAfterPublish, True, False)

Sheets("tabellendaten").Select
                                   
Rem Email erstellen
Set olApp = CreateObject("Outlook.Application")
            With olApp.CreateItem(0)

              .GetInspector.Display
              olOldBody = .HTMLBody
              .To = Range("A5").Value
              .CC = Range("Z2").Value
              .Subject = Range("I2").Value
              .HTMLBody = Range("I3").Value & "

" & Range("I4").Value & "

" & _ Range("I5").Value & olOldBody .Attachments.Add pdfName End With Rem Boolean-Variable "pdfOpenAfterPublish" zurücksetzen pdfOpenAfterPublish = False Sheets("daten").Select hilfebegruessung.Show End Sub

  

Betrifft: AW: Email formatieren von: mumpel
Geschrieben am: 01.05.2014 23:26:58

Hallo!

Entweder mit HTML-Tags. Oder über den WordEditor, siehe hierzu Outlook-Workshop - Email erstellen - Teil 2

Gruß, René


  

Betrifft: AW: Email formatieren von: Klaus M.vdT.
Geschrieben am: 02.05.2014 09:11:59

Hi Oliver,
Für Calibri,
ersetze deine Zeile .HTMLBody = [...] mit dieser hier:

.htmlbody = "<font face=""Calibri"">" & Range("I3").Value & " " & Range("I4").Value & " " & Range("I5").Value & olOldBody & "<font>"

Bei Schriftgröße 11 kann ich spontan nicht helfen.

Grüße,
Klaus M.vdT.


  

Betrifft: AW: Email formatieren von: mumpel
Geschrieben am: 02.05.2014 10:49:57

@ Klaus M.vdT

1. Du hast eine Fehler drin. Du schließt das Font-Tag nicht, sondern eröffnest ein zweites Font-Tag. ;)
2. Da würde ich besser mit dem Span-Tag arbeiten.
3. Bei der Größe wird es schwierig. Schriftgröße 11 ist so ein Problemchen. In meinem Beispielcode arbeite ich mit Millimeter. 3.8mm entspricht Schriftgröße 11.

Set olApp = CreateObject("Outlook.Application")
        
        With olApp.CreateItem(0)
                  .GetInspector.Display
                  olOldBody = .HTMLBody
                  .To = Range("A5").Value
                  .CC = Range("Z2").Value
                  .Subject = Range("I2").Value
                  .HTMLBody = "<span style='font-size:3.8mm; font-family:Calibri (Textkörper)'>" & _
                              "Nur ein Test" & olOldBody & "</span"
                  .Attachments.Add ActiveWorkbook.FullName
        End With
              




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



Code erstellt und getestet in Office 15



  

Betrifft: AW: Email formatieren von: Klaus M.vdT.
Geschrieben am: 02.05.2014 11:11:16

Hallo Mumpel,
1. Du hast eine Fehler drin. Du schließt das Font-Tag nicht, sondern eröffnest ein zweites Font-Tag. ;)
oops!
ich reiche hiermit das fehlende / nach!

SPAN statt FONT? SPAN kenne ich nicht, schaue aber gleich mal im SelfHTML nach.
Meine HTML Kenntnisse sind irgendwann Ende der 90er stehen geblieben. Ich kann wunderschöne Seiten für fixe Bildschirmauflösungen mit FRAME-Navigation und Formatierung per TABLE-Tags erstellen, all das was man heute nicht mehr macht :-)

Grüße,
Klaus M.vdT.


  

Betrifft: AW: Email formatieren von: mumpel
Geschrieben am: 02.05.2014 14:12:47

Frames & Tables nutze ich schon lange nicht mehr. HTML5 ist da besser. Nützt nur nichts in Outlook, da Outlook nur sehr wenige HTML-Tags versteht (HTML5 gehört nicht dazu).


 

Beiträge aus den Excel-Beispielen zum Thema "Email formatieren"