Excel VBA Gem som (Udskriv) til PDF

Denne vejledning viser, hvordan du gemmer / udskriver til en PDF i Excel VBA.

Udskriv til PDF

Denne enkle procedure udskriver ActiveSheet til en PDF.

123456 Sub SimplePrintToPDF ()ActiveSheet.ExportAsFixedFormat Type: = xlTypePDF, Filnavn: = "demo.pdf", Kvalitet: = xlQualityStandard, _IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueAfslut Sub

Jeg har også oprettet en funktion med fejlhåndtering osv., Der udskriver ActiveSheet til en PDF:

12345678910111213141516171819202122232425262728293031323334353637383940 UnderudskrivningPDF ()Ring til Save_PDFAfslut SubFunktion Save_PDF () As Boolean 'Kopierer ark til en ny PDF-fil til e-mailDim Thissheet As String, ThisFile As String, PathName As StringDim SvAs som strengApplication.ScreenUpdating = Falsk'Hent fil -gem navnThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePathName = ActiveWorkbook.PathSvAs = PathName & "\" & Thissheet & ".pdf"'Indstil udskriftskvalitetVed fejl Genoptag næsteActiveSheet.PageSetup.PrintQuality = 600Err.KlarVed fejl GoTo 0'Instruer brugeren i at sendeVed fejl GoTo RefLibErrorActiveSheet.ExportAsFixedFormat Type: = xlTypePDF, Filnavn: = SvAs, Kvalitet: = xlQualityStandard, IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueVed fejl GoTo 0Gem kun:MsgBox "En kopi af dette ark er blevet gemt som en .pdf -fil:" & Chr (13) & Chr (13) & SvAs & _"Gennemgå .pdf -dokumentet. Hvis dokumentet IKKE ser godt ud, skal du justere dine udskrivningsparametre og prøve igen."Save_PDF = SandtGoTo EndMacroRefLibError:MsgBox "Kan ikke gemmes som PDF. Referencebibliotek findes ikke."Save_PDF = FalskEndMacro:Afslut funktion

Funktionen returnerer SAND eller FALSK, hvis udskrivningen til PDF var vellykket eller ej.

Gem og email PDF -funktion

Denne funktion gemmer ActiveSheet som en PDF -fil og (valgfrit) vedhæfter PDF -filen til en e -mail (forudsat at du har Outlook installeret):

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 Sub Test_Save_PDF ()Ring til Send_PDF ("SendEmail")Afslut SubFunktion Send_PDF (Valgfri handling As String = "SaveOnly") As Boolean 'Kopierer ark til ny PDF-fil til e-mailDim Thissheet As String, ThisFile As String, PathName As StringDim SvAs som strengApplication.ScreenUpdating = Falsk'Hent fil -gem navnThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePathName = ActiveWorkbook.PathSvAs = PathName & "\" & Thissheet & ".pdf"'Indstil udskriftskvalitetVed fejl Genoptag næsteActiveSheet.PageSetup.PrintQuality = 600Err.KlarVed fejl GoTo 0'Instruer brugeren i at sendeVed fejl GoTo RefLibErrorActiveSheet.ExportAsFixedFormat Type: = xlTypePDF, Filnavn: = SvAs, Kvalitet: = xlQualityStandard, IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueVed fejl GoTo 0' Send e-mailHvis action = "SendEmail" SåVed fejl GoTo SaveOnlyApplication.Dialogs (xlDialogSendMail) .VisVed fejl GoTo 0GoTo EndMacroAfslut HvisGem kun:MsgBox "En kopi af dette ark er blevet gemt som en .pdf -fil:" & Chr (13) & Chr (13) & SvAs & _"Gennemgå .pdf -dokumentet. Hvis dokumentet IKKE ser godt ud, skal du justere dine udskrivningsparametre og prøve igen."Send_PDF = SandtGoTo EndMacroRefLibError:MsgBox "Kan ikke gemmes som PDF. Referencebibliotek findes ikke."Send_PDF = FalskEndMacro:Afslut funktion
wave wave wave wave wave