„Excel VBA“ išsaugoti kaip (spausdinti) į PDF

Ši pamoka parodys, kaip išsaugoti / spausdinti į PDF „Excel VBA“.

Spausdinti į PDF

Ši paprasta procedūra išspausdins „ActiveSheet“ į PDF.

123456 Sub SimplePrintToPDF ()ActiveSheet.ExportAsFixedFormat tipas: = xlTypePDF, failo pavadinimas: = "demo.pdf", kokybė: = xlQualityStandard, _IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TiesaPabaiga Sub

Taip pat sukūriau funkciją su klaidų tvarkymu ir pan., Kuri atspausdins „ActiveSheet“ į PDF:

12345678910111213141516171819202122232425262728293031323334353637383940 Antrinis spausdinimas PDF ()Skambinkite Save_PDFPabaiga SubFunkcija Save_PDF () kaip „Boolean“ Kopijuoja lapus į naują PDF failą el. Paštu„Dim Thissheet“ kaip eilutė, „ThisFile“ kaip eilutė, „PathName“ kaip eilutėDim SvAs kaip eilutėApplication.ScreenUpdating = Netiesa„Gaukite failo išsaugojimo pavadinimąThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePathName = ActiveWorkbook.PathSvAs = PathName & "\" & Thissheet & ".pdf"„Nustatykite spausdinimo kokybęDėl klaidos Tęsti toliauActiveSheet.PageSetup.PrintQuality = 600Klaida. AiškuKlaida „GoTo 0“„Nurodykite vartotojui, kaip siųstiDėl klaidos „GoTo RefLibError“ActiveSheet.ExportAsFixedFormat tipas: = xlTypePDF, failo pavadinimas: = SvAs, kokybė: = xlQualityStandard, IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueKlaida „GoTo 0“Išsaugoti tik:„MsgBox“ Šio lapo kopija sėkmingai išsaugota kaip .pdf failas: „& Chr (13) & Chr (13) & SvAs & _"Peržiūrėkite .pdf dokumentą. Jei dokumentas neatrodo gerai, sureguliuokite spausdinimo parametrus ir bandykite dar kartą."Save_PDF = Tiesa„GoTo EndMacro“„RefLibError“:MsgBox "Nepavyko išsaugoti kaip PDF. Nerasta biblioteka."Save_PDF = Netiesa„EndMacro“:Pabaigos funkcija

Funkcija grąžina TRUE arba FALSE, jei spausdinimas į PDF buvo sėkmingas.

PDF išsaugojimo ir el. Pašto funkcija

Ši funkcija išsaugos „ActiveSheet“ kaip PDF ir (pasirinktinai) pridės PDF failą prie el. Laiško (jei turite įdiegtą „Outlook“):

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 Antrasis testas_Saugoti_PDF ()Skambinti Send_PDF („SendEmail“)Pabaiga SubFunkcija Send_PDF (pasirenkamas veiksmas As String = "SaveOnly") Kaip "Boolean" Kopijuoja lapus į naują PDF failą el.„Dim Thissheet“ kaip eilutė, „ThisFile“ kaip eilutė, „PathName“ kaip eilutėDim SvAs kaip eilutėApplication.ScreenUpdating = Netiesa„Gaukite failo išsaugojimo pavadinimąThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePathName = ActiveWorkbook.PathSvAs = PathName & "\" & Thissheet & ".pdf"„Nustatykite spausdinimo kokybęDėl klaidos Tęsti toliauActiveSheet.PageSetup.PrintQuality = 600Klaida. AiškuKlaida „GoTo 0“„Nurodykite vartotojui, kaip siųstiDėl klaidos „GoTo RefLibError“ActiveSheet.ExportAsFixedFormat tipas: = xlTypePDF, failo pavadinimas: = SvAs, kokybė: = xlQualityStandard, IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueKlaida „GoTo 0“' Siųsti laiškąIf action = "SendEmail" TadaDėl klaidos „GoTo SaveOnly“Application.Dialogs (xlDialogSendMail). RodytiKlaida „GoTo 0“„GoTo EndMacro“Pabaiga JeiIšsaugoti tik:„MsgBox“ Šio lapo kopija sėkmingai išsaugota kaip .pdf failas: „& Chr (13) & Chr (13) & SvAs & _"Peržiūrėkite .pdf dokumentą. Jei dokumentas neatrodo gerai, sureguliuokite spausdinimo parametrus ir bandykite dar kartą."Send_PDF = Tiesa„GoTo EndMacro“„RefLibError“:MsgBox "Nepavyko išsaugoti kaip PDF. Nerasta biblioteka."Send_PDF = Netiesa„EndMacro“:Pabaigos funkcija

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave