PDF Datei per VBA erzeugen

Seit Excel 2007 können PDF-Dateien direkt aus Excel heraus erzeugt werden. Dazu muss die Datei einfach über die Funktion Speichern unter als PDF-Dokument abgespeichert werden.

Diese manuelle Arbeit lässt sich auch per VBA erledigen. Verwenden Sie dazu folgenden Code:

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\TEMP\Testdatei.pdf" _
  , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
  :=False, OpenAfterPublish:=True

Damit wird die PDF-Datei mit dem Namen "Testdatei.pdf" im Verzeichnis C:\TEMP erzeugt.

Ab Excel 2010 steht ein weiteres schönes Feature zur Verfügung. Über das Menü Datei / Speichern und senden / Als PDF-Senden kann ein Arbeitsblatt, ein Tabellenausschnitt oder eine komplette Datei als PDF-Datei erzeugt und direkt per E-Mail versendet werden.

 

Auch diese Funktion lässt sich per VBA automatisiseren. Verwenden Sie dazu den folgenden Code:

Sub e_Mail()

'** Dimensionierung der Variablen
Dim strPDF As String
Dim OutlookApp As Object, strEmail As Object

'** Vorgaben definieren
Set OutlookApp = CreateObject("Outlook.Application")
Set strEmail = OutlookApp.CreateItem(0)

'** PDF erzeugen
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
  ThisWorkbook.Path & "\Excel-File.pdf", Quality:=xlQualityStandard _
  , IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
  :=False

'** E-Mail versenden
strPDF = ThisWorkbook.Path & "\Excel-File.pdf"
With strEmail
  .To = "Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein."
  .Subject = "PDF als Anlage" 'Betreffzeile
  .body = "Als Anlage die PDF-Datei"
  .Attachments.Add strPDF
  .Display
  '.Send 'Damit wir die E-Mail sofort versendet
  Kill strPDF
End With
  
'** Objektvariablen wieder löschen
Set OutlookApp = Nothing
Set strEmail = Nothing
End Sub

Damit wird die PDF-Datei in einem temporären Verzeichnis erzeugt. Anschließend wird in Outlook eine neue E-Mail erzeugt an welche die PDF-Datei bereits angehängt ist.

Die Beispieldatei kann über den folgenden Link herunter geladen werden.

 

     sitepanel e mail Anfrage per E-Mail   |   sitepanel telephone 0151 - 164 55 914   |    sitepanel formular  Anfrage per Kontaktformular      |     Excel-Hilfeforum Hilfe-Forum

Ihre Zufriedenheit ist unser Ziel, deshalb verwenden wir Cookies. Mit diesen ermöglichen wir, dass unsere Webseite zuverlässig und sicher läuft, wir die Performance im Blick behalten und Sie besser ansprechen können. Cookies werden benötigt, damit technisch alles funktioniert und Sie auch externe Inhalte lesen können. Des Weiteren sammeln wir unter anderem Daten über aufgerufene Seiten, getätigte Käufe oder geklickte Buttons, um so unser Angebot an Sie zu Verbessern. Mehr über unsere verwendeten Dienste erfahren Sie unter „Weitere Informationen“. Mit Klick auf „Akzeptieren“ erklären Sie sich mit der Verwendung dieser Dienste einverstanden. Ihre Einwilligung können Sie jederzeit mit Wirkung auf die Zukunft widerrufen oder ändern.