Excel VBA Lagre som (Skriv ut) i PDF

Denne opplæringen vil demonstrere hvordan du lagrer / skriver ut til en PDF -fil i Excel VBA.

Skriv ut til PDF

Denne enkle prosedyren vil skrive ut ActiveSheet til en PDF.

123456 Sub SimplePrintToPDF ()ActiveSheet.ExportAsFixedFormat Type: = xlTypePDF, filnavn: = "demo.pdf", Quality: = xlQualityStandard, _IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueSlutt Sub

Jeg har også opprettet en funksjon med feilhåndtering osv. Som vil skrive ut ActiveSheet til en PDF:

12345678910111213141516171819202122232425262728293031323334353637383940 Sub PrintPDF ()Ring Save_PDFSlutt SubFunksjon Save_PDF () As Boolean 'Kopierer ark til ny PDF-fil for e-postDim Thissheet As String, ThisFile As String, PathName As StringDim SvAs som strengApplication.ScreenUpdating = Falsk'Få Fil Lagre NavnThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePathName = ActiveWorkbook.PathSvAs = PathName & "\" & Thissheet & ".pdf"'Angi utskriftskvalitetVed feil Fortsett nesteActiveSheet.PageSetup.PrintQuality = 600Err.KlarVed feil GoTo 0'Informer brukeren om hvordan du senderVed feil GoTo RefLibErrorActiveSheet.ExportAsFixedFormat Type: = xlTypePDF, Filnavn: = SvAs, Quality: = xlQualityStandard, IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueVed feil GoTo 0Bare lagre:MsgBox "En kopi av dette arket har blitt lagret som en .pdf -fil:" & Chr (13) & Chr (13) & SvAs & _"Gå gjennom .pdf -dokumentet. Hvis dokumentet IKKE ser bra ut, kan du justere utskriftsparametrene og prøve igjen."Save_PDF = SantGoTo EndMacroRefLibError:MsgBox "Kan ikke lagres som PDF. Referansebibliotek ikke funnet."Save_PDF = FeilEndMacro:Sluttfunksjon

Funksjonen returnerer SANN eller FALSK hvis utskriften til PDF var vellykket eller ikke.

Lagre og e -post PDF -funksjon

Denne funksjonen lagrer ActiveSheet som en PDF -fil og (valgfritt) legger ved PDF -filen til en e -post (forutsatt at du har Outlook installert):

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 Sub Test_Save_PDF ()Ring Send_PDF ("SendEmail")Slutt SubFunksjon Send_PDF (Valgfri handling As String = "SaveOnly") As Boolean 'Kopierer ark til ny PDF-fil for e-postDim Thissheet As String, ThisFile As String, PathName As StringDim SvAs som strengApplication.ScreenUpdating = Falsk'Få Fil Lagre NavnThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePathName = ActiveWorkbook.PathSvAs = PathName & "\" & Thissheet & ".pdf"'Angi utskriftskvalitetVed feil Fortsett nesteActiveSheet.PageSetup.PrintQuality = 600Err.KlarVed feil GoTo 0'Informer brukeren om hvordan du senderVed feil GoTo RefLibErrorActiveSheet.ExportAsFixedFormat Type: = xlTypePDF, Filnavn: = SvAs, Quality: = xlQualityStandard, IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueVed feil GoTo 0' Send e-postIf action = "SendEmail" DaVed feil GoTo SaveOnlyApplication.Dialogs (xlDialogSendMail) .VisVed feil GoTo 0GoTo EndMacroSlutt omBare lagre:MsgBox "En kopi av dette arket har blitt lagret som en .pdf -fil:" & Chr (13) & Chr (13) & SvAs & _"Gå gjennom .pdf -dokumentet. Hvis dokumentet IKKE ser bra ut, kan du justere utskriftsparametrene og prøve igjen."Send_PDF = SantGoTo EndMacroRefLibError:MsgBox "Kan ikke lagres som PDF. Referansebibliotek ikke funnet."Send_PDF = FeilEndMacro:Sluttfunksjon
wave wave wave wave wave