Innholdsfortegnelse
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 |