Excel VBA Speichern unter (Drucken) in PDF

In diesem Tutorial wird gezeigt, wie Sie in Excel VBA eine PDF-Datei speichern / drucken.

Als PDF drucken

Dieses einfache Verfahren druckt das ActiveSheet als PDF.

123456 Sub SimplePrintToPDF()ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, Dateiname:="demo.pdf", Qualität:=xlQualityStandard, _IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=TrueEnd Sub

Ich habe auch eine Funktion mit Fehlerbehandlung usw. erstellt, die das ActiveSheet in ein PDF druckt:

12345678910111213141516171819202122232425262728293031323334353637383940 UnterdruckPDF()Rufen Sie Save_PDF . aufEnd SubFunktion Save_PDF() As Boolean ' Kopiert Blätter in eine neue PDF-Datei für den E-Mail-VersandDim Thissheet As String, ThisFile As String, PathName As StringDim SvAs als StringApplication.ScreenUpdating = False' Datei speichern Namen abrufenThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePfadname = ActiveWorkbook.PathSvAs = Pfadname & "\" & Dieses Blatt & ".pdf"'Druckqualität einstellenBei Fehler Fortsetzen als nächstesActiveSheet.PageSetup.PrintQuality = 600Err.ClearBei Fehler GoTo 0' Benutzer anweisen, wie zu sendenBei Fehler GoTo RefLibErrorActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=SvAs, Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=TrueBei Fehler GoTo 0Nur speichern:MsgBox "Eine Kopie dieses Blattes wurde erfolgreich als .pdf-Datei gespeichert: " & Chr(13) & Chr(13) & SvAs & _"Überprüfen Sie das .pdf-Dokument. Wenn das Dokument NICHT gut aussieht, passen Sie Ihre Druckparameter an und versuchen Sie es erneut."Save_PDF = TrueGoTo EndMacroRefLibError:MsgBox "Speichern als PDF nicht möglich. Referenzbibliothek nicht gefunden."Save_PDF = FalseEndMakro:Endfunktion

Die Funktion gibt TRUE oder FALSE zurück, wenn der Druck in PDF erfolgreich war oder nicht.

PDF-Funktion speichern und per E-Mail versenden

Diese Funktion speichert das ActiveSheet als PDF und hängt (optional) das PDF an eine E-Mail an (vorausgesetzt, Sie haben Outlook installiert):

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 Teiltest_Save_PDF()Rufen Sie Send_PDF("SendEmail") aufEnd SubFunktion Send_PDF(Optionale Aktion As String = "SaveOnly") As Boolean ' Blätter in eine neue PDF-Datei für den E-Mail-Versand kopierenDim Thissheet As String, ThisFile As String, PathName As StringDim SvAs als StringApplication.ScreenUpdating = False' Dateinamen abrufenThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePfadname = ActiveWorkbook.PathSvAs = Pfadname & "\" & Dieses Blatt & ".pdf"'Druckqualität einstellenBei Fehler Fortsetzen als nächstesActiveSheet.PageSetup.PrintQuality = 600Err.ClearBei Fehler GoTo 0' Benutzer anweisen, wie zu sendenBei Fehler GoTo RefLibErrorActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=SvAs, Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=TrueBei Fehler GoTo 0' E-Mail sendenWenn Aktion = "Email senden" DannBei Fehler GoTo SaveOnlyApplication.Dialogs(xlDialogSendMail).ShowBei Fehler GoTo 0GoTo EndMacroEnde WennNur speichern:MsgBox "Eine Kopie dieses Blattes wurde erfolgreich als .pdf-Datei gespeichert: " & Chr(13) & Chr(13) & SvAs & _"Überprüfen Sie das .pdf-Dokument. Wenn das Dokument NICHT gut aussieht, passen Sie Ihre Druckparameter an und versuchen Sie es erneut."Send_PDF = TrueGoTo EndMacroRefLibError:MsgBox "Speichern als PDF nicht möglich. Referenzbibliothek nicht gefunden."Send_PDF = FalschEndMakro:Endfunktion
wave wave wave wave wave