166 Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)

Hallo, 

nachdem ich eine outlookmail erstellt und gesendet habe möchte ich diese separat als .pdf in einem Ordner speichern.

 Set oApp = CreateObject("OUTLOOK.Application")
        sBody = .....
Set OMail = oApp.CreateItem(0)
 With OMail
        Set .SendUsingAccount =             .Session.Accounts.Item(1)
        Set oOLRecip = .Recipients.Add(sRec)
        .Subject = sSub
.send
....

Hat jemand eine Idee?
Danke und Gruß A.

2 Antworten

0 Punkte
Beantwortet von flupo Profi (17.8k Punkte)
Hi,

du erzeugst ja mit oApp.CreateItem(0) ein  MailItem-Objekt. Dieser Objekttyp hat auch eine SaveAs-Methode, die man nutzen könnte.

https://docs.microsoft.com/de-de/office/vba/api/outlook.mailitem.saveas

Kleiner Makel: Das PDF-Format wird hier leider nicht unterstützt. Das ist aber auch nicht verwunderlich, denn Outlook kann (ohne zusätzliche Software) auch keine Mail als PDF speichern.

Eine Idee wäre noch, statt SaveAs die PrintOut-Methode zu nutzen. Dazu müssten die Standardeinstellungen zum Drucken auf einen PDF-Drucker eingestellt werden. Problem wird aber hier werden, dass diese Drucker üblicherweise einen Dialog zur Abfrage des Dateinamens starten.

Gruß Flupo
0 Punkte
Beantwortet von
Hallo Flupo,

danke für deine Antwort. Ich hatte sowas schon befürchtet, da ich bei meiner Suche nichts passendes gefunden hatte. Das bedeutet, dass ich ohne "manuelles Eingreifen" aus dem code heraus keine .pdf erzeugen kann...schade!

Trotzdem danke und Gruß A,
...