Tartalomjegyzék
A kivitelnek vannak előnyei Excel táblázatot, mint egy PDF dokumentumot. A fájl PDF formátumra történő módosításával kinyomtathatjuk és megoszthatjuk különböző szakmai kapcsolatokkal. A PDF megbízható szabvány olyan dokumentumok exportálására, amelyeket szükségét érezzük, hogy megosszunk másokkal vagy nyilvánosságra hozzuk. Ebben a cikkben bemutatunk néhány példát a VBA segítségével PDF-ként történő nyomtatásra és automatikus fájlnévvel történő mentésre.
Gyakorlati munkafüzet letöltése
Letöltheti a munkafüzetet, és gyakorolhat velük.
VBA nyomtatás PDF.xlsm-re9 példa az Excel VBA-ra a PDF nyomtatására és az automatikus fájlnévvel történő mentésre az Excelben
Az Excel eszköztár segítségével könnyen kinyomtathatunk egy Excel-fájlt PDF-ként és elmenthetjük a fájlt egy automatikus fájlnévvel. De egyszerűbb lenne a Excel VBA . Csak szükségünk van a VBA Nincs szükségünk annyi kattintásra a feladat elvégzéséhez, és ezzel időt takarítunk meg.
Visual Basic for Applications ( VBA ) egy olyan programozási modell és izolált program, amelyet leggyakrabban a Microsoft Office Ez egy analitikai eszköz, amely gyakran elérhető, mint Excel bővítmények , amely optimalizálja a kézi műveleteket, például a monoton, időigényes házimunkákat. Emellett képes generálni CSV Lássunk tehát néhány példát arra, hogy az Excel-fájlt PDF-ként nyomtassuk ki az automatikus fájlnévvel.
1. A munkafüzet nyomtatása PDF-be & Fájlnév automatikus mentése az Excelben
Tegyük fel, hogy ki akarjuk nyomtatni a teljes munkafüzetet, és a fájl nevét úgy menteni, ahogyan a kódunkban szerepel. Tegyük fel, hogy PDF fájlt akarunk menteni a számítógépünkre. Helyi lemez (E:) Ahogy az alábbi képen is láthatjuk, hogy a hely nem tartalmaz semmilyen pdf fájlt. A VBA kód futtatása után a kívánt fájlokat láthatjuk. PDF fájlt a számítógépünkön.
A címen Excel VBA , a felhasználók könnyedén használhatják a kódot, amely az excel menüként működik a szalagról. A VBA kód pdf nyomtatásához és automatikus fájlnévvel történő mentéséhez, kövessük az eljárást.
LÉPÉSEK:
- Először is, menjen a Fejlesztő lapot a szalagról.
- Másodszor, a Kód: kategóriában kattintson a Visual Basic a Visual Basic szerkesztő . Vagy nyomja meg a Alt + F11 a Visual Basic szerkesztő .
- Ehelyett egyszerűen kattintson a jobb gombbal a munkalapra, és válassza a Kód megtekintése Ez szintén elviszi Önt a Visual Basic szerkesztő .
- Ez megjelenik a Visual Basic szerkesztő ahol megírjuk a kódjainkat, hogy létrehozzunk egy táblázatot a tartományból.
- Harmadszor, kattintson a Modul a Beillesztés legördülő menüsor.
- Ez létrehoz egy Modul a munkafüzetben.
- És másolja be és illessze be a VBA az alábbiakban látható kódot.
VBA-kód:
Sub Print_Workbook() Dim loc As String loc = "E:\Workbook.pdf" ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=loc End Sub
- Futtassa a kódot a F5 billentyűvel a billentyűzeten.
- Végül láthatja, hogy egy PDF fájl neve, Munkafüzet már ezen az útvonalon található a számítógépén. Ez tehát azt jelenti, hogy a fájl neve automatikusan elmentésre kerül.
- És végül, ha visszamegy a munkafüzetéhez, láthat néhány szaggatott vonalat. Ez azért van, mert a fájl már készen áll a nyomtatásra.
VBA kód magyarázat
Sub Print_Workbook()
Sub egy olyan kódrészlet, amely a kódban lévő munkát végzi, de nem ad vissza értéket. Aleljárásként is ismert. Tehát nevezzük el az eljárásunkat Print_Workbook() .
loc = "E:\Workbook.pdf"
Ez a sor a hely és a pdf fájl neve. Itt a következő helyre mentjük a fájlunkat E: a számítógépünkön, és nevezzük el a fájlt Munkafüzet .
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, filename:=loc
Ez a kódsor az Excel-fájl PDF-ként történő exportálására és nyomtatásra való előkészítésére szolgál.
End Sub
Ezzel befejeződik az eljárás.
Bővebben: Excel exportálása PDF-be hiperhivatkozásokkal (2 gyors módszer)
2. Aktív munkalap automatikus mentése PDF-ként
Lássunk egy másik példát egy aktív lap pdf-be nyomtatására és a fájl nevének automatikus mentésére a következővel Excel VBA .
LÉPÉSEK:
- Először menjen a Develope r lapot a szalagról.
- Másodszor, kattintson a Visual Basic a Visual Basic szerkesztő .
- Egy másik módja a Visual Basic szerkesztő egyszerűen csak meg kell nyomni Alt + F11 .
- Vagy kattintson a jobb gombbal a lapra, majd válassza a Kód megtekintése .
- Ezután menjen a Beillesztés és válassza a Modul a legördülő menüből.
- Ez megnyitja a Visual Basic ablakot.
- Ezután másolja ki és illessze be a VBA kód az alábbiakban.
VBA-kód:
Sub Print_Sheet() Dim loc As String loc = "E:\Worksheet.pdf" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=loc End Sub
- Továbbá, nyomja meg a F5 billentyű vagy kattintson a Run Sub gombot a kód futtatásához.
- Az előző példához hasonlóan a fájl az automatikus fájlnévvel PDF-ként kerül mentésre.
Ha elolvasod example1's kód magyarázatát, akkor ezt is meg fogja érteni.
Bővebben: Excel makró: PDF mentése dátummal a fájlnévben (4 megfelelő példa)
3. PDF-fájl nyomtatása Excelből VBA-val a tartományban
Nézzünk egy másik példát az Excel VBA használatára az aktív lap pdf formátumba történő nyomtatásához és a fájlnév automatikus mentéséhez.
LÉPÉSEK:
- A kezdéshez kattintson a Fejlesztő lapot a szalagban.
- Másodszor, indítsa el a Visual Basic szerkesztő a Visual Basic .
- Alternatívaként elérheti a Visual Basic szerkesztő a Alt + F11 .
- Vagy, jobb gombbal kattintva a lapon, és válassza a Kód megtekintése a menüből.
- Ezután válassza ki a Modul a legördülő dobozból a Beillesztés .
- És megjelenik a Visual Basic ablak.
- Írja oda a kódot.
VBA-kód:
Sub PrntPDF() ActiveWindow.SelectedSheets.PrintOut Copies:=1, _ Collate:=True, ActivePrinter:="Adobe PDF" Dim fnam As String fnam = Range("B4").Value End Sub
- Végül nyomja meg a F5 billentyű a kód futtatásához.
- Ezt követően láthatja, hogy a számítógépen lévő adott helyre egy PDF-fájlt adtak hozzá Munkafüzet névvel. Ennek eredményeképpen a fájl neve automatikusan megmarad.
Bővebben: Tartomány nyomtatása PDF-be VBA-val az Excelben (5 legegyszerűbb példa)
4. Excel VBA a kiválasztott lapon való áthaladáshoz és a PDF nyomtatásához
Vessünk egy pillantást egy másik módra a PDF-be nyomtatáshoz és a fájlnév automatikus mentéséhez.
LÉPÉSEK:
- A kezdéshez nyissa meg a szalagot, és válassza ki a Fejlesztő opció.
- Ezután, hogy hozzáférjen a Visual Basic szerkesztő , kattintson a Visual Basic .
- Sajtó Alt + F11 szintén megjelenik a Visual Basic szerkesztő .
- Alternatívaként, jobb gombbal kattintva a lapot, és válassza a Kód megtekintése a megjelenő menüből.
- Most, a Beillesztés legördülő opciót, válasszon Modul .
- Ezután másolja ki és illessze be a VBA az alábbi kódot.
VBA-kód:
Sub PrntPDF1() Dim wrksht As Worksheet Dim sht As Variant Set sht = ActiveWindow.SelectedSheets For Each wrksht In sht wrksht.Select wrksht.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=ThisWorkbook.Path & "/" & wrksht.Name & ".pdf" Next wrksht sht.Select End Sub
- Futtassa a kódot a F5 kulcs.
- Végül láthatja, hogy egy munkafüzet PDF-fájlt töltött fel a számítógépén erre a területre. Ennek következtében a fájl neve automatikusan megmarad.
Ez a fájlt a munkafüzet lapszámaként menti el.
VBA kód magyarázat
For Each wrksht In sht wrksht.Select wrksht.ExportAsFixedFormat Type:=xlTypePDF, filename:=ThisWorkbook.Path & "/" & wrksht.Name & ".pdf" Next wrksht
Ez a for ciklus kódsor az excel fájl pdf-ként történő exportálására és a fájl nyomtatására szolgál.
Bővebben: Excel VBA: ExportAsFixedFormat PDF exportálása az oldalra való illesztéssel (3 példa)
5. Nyomtatás PDF-be és a fájlnév mentése ösztönösen az Excelben
Most nézzünk meg egy másik Excel VBA módszert az Excel fájlok pdf-be mentésére és a fájl automatikus rendszerének elnevezésére.
LÉPÉSEK:
- A kezdéshez nyissa meg a szalagot, és válassza a Fejlesztő a legördülő menüből.
- Ezután válassza a Visual Basic a Visual Basic szerkesztő .
- A Visual Basic szerkesztő a következő gomb megnyomásával is elérhető Alt + F11 .
- Alternatív megoldásként jobb gombbal kattintva a lapot, és válassza a Kód megtekintése a felugró menüből.
- Ezután válassza a Modul a Beillesztés legördülő menü.
- Másolja ki és illessze be a következő VBA-kódot.
VBA-kód:
Sub PrntPDF2() Dim loc As String loc = "E:\Sheet6.pdf" ActiveSheet.ExportAsFixedFormat _ Type:=xlTypePDF, _ filename:=loc, _ OpenAfterPublish:=False, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ Quality:=xlQualityStandard, _ From:=1, To:=2 End Sub
- Végül futtassa a kódot a F5 a billentyűzeten, és máris láthatja az eredményt.
- Később látni fogja, hogy egy Munkafüzet PDF fájlt már elmentette erre a helyre a számítógépén. Ennek eredményeképpen a fájl neve automatikusan megmarad.
A korábbi példához hasonlóan ez is a pdf-fájlt menti el lapszámként.
VBA kód magyarázat
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, filename:=loc, OpenAfterPublish:=False, IncludeDocProperties:=True, IgnorePrintAreas:=False, Quality:=xlQualityStandard, From:=1, To:=2
A kódblokk az excel fájl nyomtatására és pdf-ként történő mentésére szolgál.
Bővebben: Nyomtatás PDF-be és e-mailbe a VBA használatával az Excelben (2 hasznos eset)
6. VBA funkció a PDF nyomtatásához és a fájlnév automatikus mentéséhez
Fedezzünk fel egy másik Excel VBA módszert a PDF-be nyomtatásra és a fájlnév automatikus mentésére. Ebben a példában egy függvényt fogunk használni és PDF-be menteni a fájlt. Használjuk a Msgbox hogy üzenetet kapjunk arról, hogy a fájl mentésre került-e vagy sem.
LÉPÉSEK:
- Kezdetben menjen a Fejlesztő tab> Visual Basic > Beillesztés > Modul .
- Vagy, jobb gombbal kattintva a munkalapon egy ablak nyílik meg. Onnan menjen a Kód megtekintése .
- És, ez elviszi Önt a Visual Basic szerkesztő mezőt, ahová a következőket írhatjuk VBA makrók .
- Másrészt, a Alt + F11 szintén megnyitja a Visual Basic szerkesztő .
- Ezután írja be a VBA kód.
VBA-kód:
Sub PrntPDF3() Dim wrks As Worksheet Dim wrkb As Workbook Dim snam As String Dim sloc As String Dim sf As String Dim slocf As String Dim myFile As Variant Dim l As Long On Error GoTo errHandler Set wrkb = ActiveWorkbook Set wrks = ActiveSheet sloc = wrkb.Path If sloc = "" Then sloc = Application.DefaultFilePath End If sloc = sloc &; "\" snam = wrks.Range("A1").Value & " Print " &wrks.Range("A2").Value & " PDF " & wrks.Range("A3").Value sf = snam & ".pdf" slocf = sloc & sf If PrintFile(slocf) Then l = MsgBox(vbQuestion + vbYesNo, "File Exists") If l vbYes Then myFile = Application.GetSaveAsFilename(InitialFileName:=slocf, FileFilter:="PDF Files (*.pdf), *.pdf", _ Title:="Save File Name") If myFile "False" Then slocf = myFile Else GoTo exitHandler End IfEnd If End If wrks.ExportAsFixedFormat Type:=xlTypePDF, filename:=slocf, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False MsgBox "Print PDF: " & vbCrLf & strPathFile exitHandler: Exit Sub errHandler: MsgBox "Not Print" Resume exitHandler End Sub Function PrintFile(rsFullPath As String) As Boolean PrintFile =CBool(Len(Dir$(rsFullPath))> 0) End Function
- És futtassa a kódot, hogy lássa az eredményt, ha megnyomja a F5 billentyű .
- Ez megjelenik a Msgbox és győződjön meg róla, hogy a PDF-fájl már készen áll a nyomtatásra.
- Hasonlóképpen, mint korábban, észrevehetjük, hogy a munkafüzet PDF fájlját már elmentettük a számítógépünkön erre a helyre. Ennek eredményeképpen a fájl neve alapértelmezés szerint megmarad. Mivel a fájlnevet beállítjuk. PDF nyomtatása , elmentette a fájl nevét Nyomtatás PDF.
Ha megnézi az előző kód magyarázatát, akkor megérti a kód sorait megfelelően. Nem kell megváltoztatnia a kódot, csak a tartományokat kell megváltoztatnia a preferenciáinak megfelelően. Másolhatja a kódot, és használhatja a munka céljára.
Bővebben: Excel makró a PDF mentéséhez a cellák értékéből származó fájlnévvel (2 példa)
7. Excel VBA kód a PDF nyomtatáshoz és a fájlnév automatikus mentéséhez
Nézzünk meg egy másik Excel VBA módszert a PDF-be nyomtatásra és a fájlnév automatikus tárolására.
LÉPÉSEK:
- A kezdéshez navigáljon a Fejlesztő lapot a szalagban.
- Másodszor, a Kód szakasz alatt válassza a Visual Basic a Visual Basic szerkesztő A Visual Basic szerkesztő , kattintson Alt + F11 .
- Másik lehetőségként egyszerűen kattintson a jobb gombbal a munkalapra, és válassza a Kód megtekintése Ez elviszi Önt a Visual Basic szerkesztő is.
- Ez megjelenik a Visual Basic szerkesztő , ahol megírjuk a kódot, hogy egy tartományból táblázatot generáljunk.
- Harmadszor, a Beszúrás legördülő menüsorból válassza a Modul .
- És másolja be és illessze be a VBA az alábbiakban látható kódot.
VBA-kód:
Sub PrintPDF4() Dim wrksht As Worksheet Dim wrkbk As Workbook Dim snam As String Dim sloc As String Dim sf As String Dim slocf As String Dim file As Variant On Error GoTo errHandler Set wrkbk = ActiveWorkbook Set wrksht = ActiveSheet sloc = wrkbk.Path If sloc = "" Then sloc = Application.DefaultFilePath End If sloc = sloc & "\" snam = wrksht.Range("A1").Value & " - " &wrksht.Range("A2").Value & " - " & wrksht.Range("A3").Value sf = snam & ".pdf" slocf = sloc & sf wrksht.ExportAsFixedFormat Type:=xlTypePDF, filename:=slocf, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False MsgBox "Print PDF: " & vbCrLf & strPathFile exitHandler: Exit Sub errHandler: MsgBox "Not Print" ResumeexitHandler End Sub
- Ezután hajtsa végre a kódot a RubSub gomb megnyomásával vagy a F5 billentyűkombináció.
- Különösen akkor, ha egy Msgbox megjelenik.
- A fájl PDF-ként kerül mentésre, ugyanazzal az automatizált fájlnévvel, mint az előző példában.
VBA kód magyarázat
sloc = wrkbk.Path If sloc = "" Then sloc = Application.DefaultFilePath End If sloc = sloc & "\" snam = wrksht.Range("A1").Value & " - " & wrksht.Range("A2").Value & " - " & wrksht.Range("A3").Value
Ezek az aktív munkafüzet mappájának lekérdezésére szolgálnak, ha a munkafüzet mentésre kerül.
sf = snam & ".pdf" slocf = sloc & sf
Ez létrehozza a fájlok mentésének alapértelmezett nevét.
wrksht.ExportAsFixedFormat Type:=xlTypePDF, filename:=slocf, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Ez a blokk csak exportálja az Excel-fájlt PDF-be az aktuális mappába.
MsgBox "PDF nyomtatása: " & vbCrLf & strPathFile exitHandler: Exit Sub errHandler: MsgBox "Not Print" Resume exitHandler
Ez lehetővé teszi számunkra, hogy egy megerősítő üzenetet lássunk a fájlinformációkkal a Microsoft Excelben.
Bővebben: Nyomtatás PDF-be az Excel makró gomb használatával (5 makró változat)
8. Egy adott Excel lap nyomtatása automatikus fájlnévvel
Nézzünk meg egy másik Excel VBA módszert a PDF-be nyomtatásra és a fájlnév automatikus tárolására.
LÉPÉSEK:
- Először is, válassza ki a Fejlesztő lapot a szalagról.
- Másodszor, a Kód: kategória, válassza a Visual Basic a Visual Basic szerkesztő Alternatívaként nyomja meg a Alt + F11 a Visual Basic szerkesztő .
- Ehelyett kattintson a jobb gombbal a munkalapra, és válassza a Kód megtekintése .
- Ez megjelenik a Visual Basic szerkesztő , ahol megírjuk a kódunkat, hogy egy tartományból táblázatot generáljunk.
- Harmadszor, válassza a Modul menüpontot a Beszúrás legördülő menüsorból.
- Továbbá, másolja ki és illessze be a VBA kód az alábbiakban.
VBA-kód:
Sub PrintPDF5() Dim loc As String Dim r As Range loc = "E:\PDF File.pdf" Set rng = Sheets("IT").Range("A1:F13") rng.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=loc End Sub
- Továbbá futtassa a kódot a RubSub gombbal vagy a F5 billentyűkombináció.
- Ez a fájl PDF-ként kerül elmentésre, ugyanolyan névvel, mint az előző példában.
VBA kód magyarázat
Dim loc As String Dim r As Range loc = "E:\PDF File.pdf" Set rng = Sheets("IT").Range("A1:F13")
A kódok ezen blokkjai a változók létrehozására és hozzárendelésére szolgálnak.
rng.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=loc
Ez egy sor fájladatot ment el PDF formátumban.
Bővebben: Hogyan konvertálhatja az Excel-t PDF-be a formázás elvesztése nélkül (5 hatékony módja)
9. Fájlnév automatikus mentése PDF-be nyomtatás közben az Excel VBA-ban
Nézzünk meg egy másik Excel VBA módszert a PDF-be nyomtatásra és a fájlnév automatikus tárolására.
LÉPÉSEK:
- Kezdetnek válassza ki a Fejlesztő lapot a szalagról.
- Másodszor, válasszon Visual Basic a Kód: terület megnyitásához a Visual Basic szerkesztő . Alt + F11 a Visual Basic szerkesztő .
- Kattintson a jobb gombbal a munkalapra, és válassza a Kód megtekintése Ez szintén elviszi Önt a Visual Basic szerkesztő .
- Most láthatjuk a Visual Basic szerkesztő , ahol megírjuk a kódot, hogy egy tartományból táblázatot hozzunk létre.
- Továbbá, válassza ki Modul a Beillesztés legördülő menüsor.
- Ezután másolja ki és illessze be a VBA az alábbi kódot.
VBA-kód:
Sub Prnt_PDF() Call Automatic_Name End Sub Function Automatic_Name() As Boolean ' Lapokat másol új PDF fájlba e-mail küldéshez Dim sht As String, file As String, loc As String Dim s As String Application.ScreenUpdating = False sht = ActiveSheet.Name file = ActiveWorkbook.Name loc = ActiveWorkbook.Path s = loc & "\" & sht & ".pdf" On Error Resume NextActiveSheet.PageSetup.PrintQuality = 600 err.Clear On Error GoTo 0 On Error GoTo RefLibError ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, filename:=s, Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=True On Error GoTo 0 SaveOnly: MsgBox "Mentve .pdf fájlként: " & vbCrLf & vbCrLf & SvAs & _ "Tekintse át a .pdf dokumentumot."Automatic_Name = True GoTo EndMacro RefLibError: MsgBox "Nem sikerült PDF-ként menteni." Automatioc_Name = False EndMacro: End Function
- A kód ezután a RubSub gombbal vagy a F5 billentyűkombináció.
VBA kód magyarázat
sht = ActiveSheet.Name file = ActiveWorkbook.Name loc = ActiveWorkbook.Path s = loc & "\" & sht & ".pdf"
A fájl pdf formátumban történő letöltéséhez és a pdf nevének elmentéséhez.
On Error Resume Next ActiveSheet.PageSetup.PrintQuality = 600 err.Clear On Error GoTo 0
Ez csak a nyomtatási minőséget állítja be.
On Error GoTo RefLibError ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, filename:=s, Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=True On Error GoTo 0 SaveOnly: MsgBox "Mentve .pdf fájlként: " & vbCrLf & vbCrLf & SvAs & _ "Tekintse át a .pdf dokumentumot." Automatic_Name = True GoTo EndMacro RefLibError: MsgBox "Nem lehetett menteni .pdf fájlként.PDF." Automatioc_Name = False
Ezek a sorok utasítják a felhasználót, hogyan küldje el a fájlt, hogy pdf-ként nyomtassa ki.
Bővebben: Hogyan mentse az Excel-t PDF-ként anélkül, hogy levágná (4 megfelelő mód)
Következtetés
A fenti módszerek segíteni fognak abban, hogy ezt a munkát a Nyomtatás PDF-be és automatikus fájlnév mentése az Excel VBA-ban Ha bármilyen kérdése, javaslata vagy visszajelzése van, kérjük, ossza meg velünk a megjegyzés rovatban. Vagy vethet egy pillantást a többi cikkünkre a ExcelWIKI.com blog!