Excel VBA Spara som (Skriv ut) till PDF

Denna handledning visar hur du sparar / skriver ut till en PDF -fil i Excel VBA.

Skriv ut till PDF

Denna enkla procedur kommer att skriva ut ActiveSheet till en PDF.

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

Jag har också skapat en funktion med felhantering etc. som skriver ut ActiveSheet till en PDF:

12345678910111213141516171819202122232425262728293031323334353637383940 Sub PrintPDF ()Ring Save_PDFAvsluta SubFunktion Save_PDF () As Boolean 'Kopierar blad till en ny PDF-fil för e-postDim Thissheet As String, ThisFile As String, PathName As StringDim SvAs som strängApplication.ScreenUpdating = Falskt'Hämta filspararnamnThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePathName = ActiveWorkbook.PathSvAs = PathName & "\" & Thissheet & ".pdf"'Ställ in utskriftskvalitetVid fel Återuppta nästaActiveSheet.PageSetup.PrintQuality = 600Err.TydligVid fel GoTo 0'Instruera användaren hur man skickarVid fel GoTo RefLibErrorActiveSheet.ExportAsFixedFormat Type: = xlTypePDF, Filnamn: = SvAs, Kvalitet: = xlQualityStandard, IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueVid fel GoTo 0Spara bara:MsgBox "En kopia av detta blad har sparats som en .pdf -fil:" & Chr (13) & Chr (13) & SvAs & _"Granska .pdf -dokumentet. Om dokumentet INTE ser bra ut, justera utskriftsparametrarna och försök igen."Save_PDF = SantGoTo EndMacroRefLibError:MsgBox "Det gick inte att spara som PDF. Referensbibliotek hittades inte."Save_PDF = FalsktEndMacro:Avsluta funktion

Funktionen returnerar TRUE eller FALSE om utskriften till PDF lyckades eller inte.

Spara och mejla PDF -funktion

Denna funktion sparar ActiveSheet som en PDF -fil och (valfritt) bifogar PDF -filen till ett e -postmeddelande (förutsatt att du har Outlook installerat):

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 Sub Test_Save_PDF ()Ring Send_PDF ("SendEmail")Avsluta SubFunktion Send_PDF (Valfri åtgärd As String = "SaveOnly") As Boolean 'Kopierar blad till ny PDF-fil för e-postDim Thissheet As String, ThisFile As String, PathName As StringDim SvAs som strängApplication.ScreenUpdating = Falskt'Hämta filspararnamnThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePathName = ActiveWorkbook.PathSvAs = PathName & "\" & Thissheet & ".pdf"'Ställ in utskriftskvalitetVid fel Återuppta nästaActiveSheet.PageSetup.PrintQuality = 600Err.TydligVid fel GoTo 0'Instruera användaren hur man skickarVid fel GoTo RefLibErrorActiveSheet.ExportAsFixedFormat Type: = xlTypePDF, Filnamn: = SvAs, Kvalitet: = xlQualityStandard, IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueVid fel GoTo 0' Skicka epostIf action = "SendEmail" DåVid fel GoTo SaveOnlyApplication.Dialogs (xlDialogSendMail) .VisaVid fel GoTo 0GoTo EndMacroAvsluta omSpara bara:MsgBox "En kopia av detta blad har sparats som en .pdf -fil:" & Chr (13) & Chr (13) & SvAs & _"Granska .pdf -dokumentet. Om dokumentet INTE ser bra ut, justera utskriftsparametrarna och försök igen."Send_PDF = SantGoTo EndMacroRefLibError:MsgBox "Det gick inte att spara som PDF. Referensbibliotek hittades inte."Send_PDF = FalsktEndMacro:Avsluta funktion
wave wave wave wave wave