Brauchen Sie Hilfe?
Web:     Online-Formular
E-Mail:  
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Tel:       +49(0)151 / 164 55 914

Nutzen Sie für Ihre Anfrage unser Online-Formular oder senden Sie uns eine E-Mail an Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!. Gerne können Sie aber auch direkt telefonisch Kontakt aufnehmen.

   
     Referenzen
 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   

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.

 

   

Relevante Artikel

  • Ausgewählte Tabellenblätter drucken

    Wenn nicht die gesamte Arbeitsmappe sondern nur ausgewählte Tabellenblätter einer Arbeitsmappe gedruckt werden sollen, können Sie folgenden VBA-Code verwenden. Sub mehrereSheetsDrucken() '**...

  • Druckdialog per VBA aufrufen

    Mit dem folgenden VBA-Code wird der Standarddruckdialog in Excel aufgerufen. Dort kann dann wie gewohnt der Drucker gewählt, Einstellungen vorgenommen und abschließend gedruckt werden. Sub...

  • Anzahl der Druckseiten ermitteln

    Mit dem folgenden VBA-Code unter kann unter Verwendung eines Excel4Makros die Anzahl der Druckseiten ermittelt werden. Um die Druckseiten eines Tabellenblattes zu berechnen, verwenden Sie bitte den...

  • 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...

  • Drucken der Arbeitsmappe verhindern

    Mit Hilfe des folgenden VBA-Codes kann die Druckfunktion für eine gesamte Arbeitsmappe deaktiviert werden. Damit kann kein Tabellenblatt ausgedruckt werden. Der Druckversuch wird mit einer...

   

Excel-Inside auf Facebook Excel-Live News blog Excel-Inside RSS-Feed Twitter Account für Excel-Inside Mail an Excel-Inside 

Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
Unsere Produkte
Office Schulungen VBA, Excel, Access
E-Book Formeln und Funktionen Excel 2013