Excel VBA Mentés másként (nyomtatás) PDF formátumba

Ez az oktatóanyag bemutatja, hogyan lehet PDF -be menteni / nyomtatni Excel VBA -ban.

Nyomtatás PDF -be

Ez az egyszerű eljárás kinyomtatja az ActiveSheet -et PDF -be.

123456 Sub SimplePrintToPDF ()ActiveSheet.ExportAsFixedFormat Type: = xlTypePDF, Fájlnév: = "demo.pdf", Minőség: = xlQualityStandard, _IncludeDocProperties: = Hamis, IgnorePrintAreas: = Hamis, OpenAfterPublish: = IgazEnd Sub

Létrehoztam egy hibakezelő funkciót stb., Amely kinyomtatja az ActiveSheet -et PDF -be:

12345678910111213141516171819202122232425262728293031323334353637383940 Alnyomtatás PDF ()Hívja a Save_PDF -etEnd SubFunkció Save_PDF () Booleanként Másolja a lapokat új PDF-fájlba e-mailbenA Thissheet halványítása karakterláncként, ez a fájl karakterláncként, az útvonalnév karakterlánckéntDim SvAs karakterlánckéntApplication.ScreenUpdating = Hamis'Fájlmentési név kéréseThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePathName = ActiveWorkbook.PathSvAs = Útnév & "\" & Thissheet & ".pdf"'Állítsa be a nyomtatási minőségetHiba esetén Folytassa a következőtActiveSheet.PageSetup.PrintQuality = 600Hiba. VilágosGoTo 0 hiba esetén'Utasítsa a felhasználót a küldésreHiba esetén GoTo RefLibErrorActiveSheet.ExportAsFixedFormat Type: = xlTypePDF, Filename: = SvAs, Quality: = xlQualityStandard, IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueGoTo 0 hiba eseténCsak mentés:MsgBox "A lap egy példányát sikeresen elmentettük .pdf fájlként:" & Chr (13) & Chr (13) & SvAs & _"Tekintse át a .pdf dokumentumot. Ha a dokumentum NEM néz ki jól, módosítsa a nyomtatási paramétereket, és próbálja újra."Save_PDF = IgazGoTo EndMacroRefLibError:MsgBox "Nem lehet menteni PDF -ként. A referenciakönyvtár nem található."Save_PDF = HamisEndMacro:Vége funkció

A függvény IGAZ vagy HAMIS értéket ad vissza, ha a PDF -be történő nyomtatás sikeres volt vagy sem.

PDF mentési és e -mail funkció

Ez a funkció menti az ActiveSheet -et PDF -ként, és (opcionálisan) csatolja a PDF -t egy e -mailhez (feltéve, hogy az Outlook telepítve van):

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 Sub Test_Save_PDF ()Hívja a Send_PDF ("SendEmail")End SubFunkció Send_PDF (Opcionális művelet, mint String = "SaveOnly") Booleanként Másolja a lapokat új PDF-fájlba e-mailbenA Thissheet halványítása karakterláncként, ez a fájl karakterláncként, az útvonalnév karakterlánckéntDim SvAs karakterlánckéntApplication.ScreenUpdating = Hamis'Fájlmentési név kéréseThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePathName = ActiveWorkbook.PathSvAs = Útnév & "\" & Thissheet & ".pdf"'Állítsa be a nyomtatási minőségetHiba esetén Folytassa a következőtActiveSheet.PageSetup.PrintQuality = 600Hiba. VilágosGoTo 0 hiba esetén'Utasítsa a felhasználót a küldésreHiba esetén GoTo RefLibErrorActiveSheet.ExportAsFixedFormat Type: = xlTypePDF, Filename: = SvAs, Quality: = xlQualityStandard, IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueGoTo 0 hiba esetén' Küldjön e-mailtIf action = "SendEmail" AkkorOn GoTo SaveOnly hiba eseténApplication.Dialogs (xlDialogSendMail). MegjelenítésGoTo 0 hiba eseténGoTo EndMacroVége HaCsak mentés:MsgBox "A lap egy példányát sikeresen elmentettük .pdf fájlként:" & Chr (13) & Chr (13) & SvAs & _"Tekintse át a .pdf dokumentumot. Ha a dokumentum NEM néz ki jól, módosítsa a nyomtatási paramétereket, és próbálja újra."Send_PDF = IgazGoTo EndMacroRefLibError:MsgBox "Nem lehet menteni PDF -ként. A referenciakönyvtár nem található."Send_PDF = HamisEndMacro:Vége funkció
wave wave wave wave wave