Exceli VBA printimine PDF-na ja salvestamine automaatse failinimega

  • Jaga Seda
Hugh West

Eksportimisel on eeliseid Excel tabeli kui PDF dokumenti. Muutes faili PDF-vorminguks, saame selle välja printida ja jagada seda erinevate erialaste ühendustega. PDF on usaldusväärne standard dokumentide eksportimiseks, mida tunnete vajadust teistega jagada või avalikustada. Selles artiklis näitame mõned näited VBAst, et printida PDF-vorminguna ja salvestada automaatse failinimega.

Lae alla praktiline töövihik

Võite töövihiku alla laadida ja nendega harjutada.

VBA Print to PDF.xlsm

9 näidet Exceli VBA-st PDF-i printimiseks ja salvestamiseks automaatse failinimega Excelis

Me saame hõlpsasti Exceli faili PDF-na printida ja salvestada faili automaatse failinimega, kasutades Exceli tööriistariba. Kuid lihtsam oleks see Excel VBA Me lihtsalt vajame VBA koodi ja käivitada neid. Me ei vaja ülesande täitmiseks nii palju klõpsamisi ja see säästab meie aega.

Visual Basic rakenduste jaoks ( VBA ) on programmeerimismudel ja isoleeritud programm, mida kõige sagedamini näeb Microsoft Office . See on analüütiline vahend, mis on sageli saadaval kui Exceli lisandmoodulid , mis optimeerib käsitsi tehtavaid toiminguid, näiteks monotoonseid, aeganõudvaid töid. Samuti võib see luua CSV failid. Nii et vaatame mõned näited excel-faili printimiseks PDF-failina koos automaatse failinimega.

1. Printige töövihik PDF-i & Salvestage failinimi automaatselt Excelis

Oletame, et soovime printida kogu töövihiku ja salvestada faili nime, nagu me panime nime meie koodile. Oletame nüüd, et soovime salvestada PDF-faili meie arvutis Kohalik ketas (E:) Nagu alloleval pildil näha, ei sisalda see koht ühtegi pdf-faili. Pärast VBA koodi käivitamist saame näha meie soovitud PDF faili selles kohas meie arvutis.

Koos Excel VBA , saavad kasutajad hõlpsasti kasutada koodi, mis toimib exceli menüüdest paelast. Et kasutada VBA kood, et printida pdf ja salvestada automaatse failinimega, järgime protseduuri.

SAMMUD:

  • Esiteks, minge Arendaja vahekaart lindilt.
  • Teiseks, alates Kood kategooria, klõpsake Visual Basic avada Visual Basic toimetaja . või vajutage Alt + F11 avada Visual Basic toimetaja .

  • Selle asemel võite lihtsalt teha oma töölehel paremklõpsu ja minna valikusse Vaata koodi See viib teid ka Visual Basic toimetaja .

  • See ilmub Visual Basic toimetaja kus me kirjutame oma koodid tabeli loomiseks vahemikust.
  • Kolmandaks, klõpsake nuppu Moodul alates Sisesta rippmenüü riba.

  • See loob Moodul teie töövihikus.
  • Ja kopeeri ja kleebi VBA allpool esitatud kood.

VBA kood:

 Sub Print_Workbook() Dim loc As String loc = "E:\Workbook.pdf" ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=loc End Sub 
  • Käivitage kood, vajutades F5 klaviatuuril.

  • Lõpuks näete, et PDF-faili nimi, Töövihik asub nüüd teie arvutis sellel teekonnal. See tähendab, et faili nimi salvestatakse automaatselt.

  • Ja viimaks, kui te lähete tagasi oma töövihikusse, näete mõned punktiirjooned. See tuleneb sellest, et fail on nüüd valmis printimiseks.

VBA koodi selgitus

 Sub Print_Workbook() 

Sub on koodi osa, mida kasutatakse koodis tehtava töö käsitlemiseks, kuid mis ei tagasta mingit väärtust. Seda nimetatakse ka alaprotseduuriks. Seega nimetame meie protseduuri Print_Workbook() .

 loc = "E:\Workbook.pdf" 

See rida on asukoha ja pdf-faili nime jaoks. Siin salvestame oma faili aadressil E: meie arvutis ja nimetage faili Töövihik .

 ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, filename:=loc 

See koodirida on mõeldud Exceli faili eksportimiseks PDF-formaadis ja selle trükivalmis muutmiseks.

 End Sub 

See lõpetab protseduuri.

Loe edasi: Exceli eksportimine PDF-i koos hüperlinkidega (2 kiiret meetodit)

2. Salvestage aktiivne tööleht automaatselt PDF-formaadis

Vaatame veel ühte näidet, mis trükib aktiivse lehe pdf-i ja salvestab faili nime automaatselt kasutades Excel VBA .

SAMMUD:

  • Kõigepealt minge Develope r vahekaart lindilt.
  • Teiseks, klõpsake Visual Basic avada Visual Basic toimetaja .
  • Teine võimalus avada Visual Basic toimetaja on lihtsalt vajutada Alt + F11 .
  • Või tehke lehel paremklõps, seejärel valige Vaata koodi .
  • Järgmisena minge aadressile Sisesta ja valige Moodul rippmenüüst.
  • Ja see avab visual basic akna.
  • Pärast seda kopeeri ja kleebi VBA kood allpool.

VBA kood:

 Sub Print_Sheet() Dim loc As String loc = "E:\Worksheet.pdf" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=loc End Sub 
  • Edasi vajutage F5 klahv või klõpsake Run Sub nuppu koodi käivitamiseks.

  • Sarnaselt eelmisele näitele salvestatakse fail PDF-failina automaatse failinimega.

Kui te loete example1's koodi selgitus, saate ka sellest aru.

Loe edasi: Exceli makro: Salvesta PDF-i failinimega kuupäevaga (4 sobivat näidet)

3. PDF-faili printimine Excelist VBAga vahemikus

Vaatame veel ühte näidet Exceli VBA kasutamise kohta, et printida aktiivne leht pdf-formaadis ja salvestada faili nimi automaatselt.

SAMMUD:

  • Alustamiseks klõpsake nuppu Arendaja vahekaart lindil.
  • Teiseks, käivitage Visual Basic toimetaja klõpsates Visual Basic .
  • Teise võimalusena saate juurdepääsu Visual Basic toimetaja vajutades Alt + F11 .
  • Või, paremklikk lehel ja valige Vaata koodi menüüst.
  • Järgmisena valige Moodul all olevas rippmenüüst Sisesta .
  • Ja ilmub visual basic aken.
  • Kirjutage kood sinna.

VBA kood:

 Sub PrntPDF() ActiveWindow.SelectedSheets.PrintOut Copies:=1, _ Collate:=True, ActivePrinter:="Adobe PDF" Dim fnam As String fnam = Range("B4").Value End Sub 
  • Lõpuks vajutage F5 klahv koodi käivitamiseks.

  • Pärast seda näete, et teie arvutis on sellesse kohta lisatud PDF-fail nimega Workbook. Selle tulemusena säilib faili nimi automaatselt.

Loe edasi: VBA-ga Exceli vahemiku printimine PDF-i (5 lihtsamat näidet)

4. Exceli VBA, et läbida valitud leht ja printida PDF-i

Tutvustame veel üht võimalust PDF-i printimiseks ja faili nime automaatseks salvestamiseks.

SAMMUD:

  • Alustamiseks avage lint ja valige käsk Arendaja võimalus.
  • Seejärel, et pääseda ligi Visual Basic toimetaja , kliki Visual Basic .
  • Pressing Alt + F11 toob ka üles Visual Basic toimetaja .
  • Teise võimalusena, paremklikk leht ja valige Vaata koodi ilmuvast menüüst.
  • Nüüd, alates Sisesta rippmenüüst, valige Moodul .
  • Seejärel kopeeri ja kleebi VBA järgnev kood.

VBA kood:

 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 
  • Käivitage kood, vajutades F5 võti.

  • Lõpuks näete, et töövihiku PDF-faili on üles laaditud sellesse piirkonda teie arvutis. Selle tulemusena säilib faili nimi automaatselt.

See salvestab faili töövihiku lehenumbrina.

VBA koodi selgitus

 For Each wrksht In sht wrksht.Select wrksht.ExportAsFixedFormat Type:=xlTypePDF, filename:=ThisWorkbook.Path & "/" & wrksht.Name & ".pdf" Next wrksht 

See rida koodid for loop on eksportida excel faili pdf ja printida faili.

Loe edasi: Excel VBA: ExportAsFixedFormat PDF koos leheks sobitamisega (3 näidet)

5. Printige PDF-i ja salvestage failinimi instinktiivselt Excelis

Nüüd vaadake veel ühte Exceli VBA meetodit Exceli failide salvestamiseks pdf-i ja faili automaatsüsteemi nimetamiseks.

SAMMUD:

  • Alustamiseks avage lint ja valige Arendaja rippmenüüst.
  • Seejärel valige Visual Basic avada Visual Basic toimetaja .
  • The Visual Basic toimetaja saab samuti avada, vajutades nuppu Alt + F11 .
  • Teise võimalusena võite paremklikk leht ja valige Vaata koodi hüpikmenüüst.
  • Pärast seda valige Moodul alates Sisesta rippmenüü.
  • Lisaks kopeerige ja kleepige järgmine VBA-kood.

VBA kood:

 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 
  • Lõpuks käivitage kood, vajutades F5 klaviatuuril ja näete tulemust.

  • Seejärel näete, et Töövihik PDF fail oli juba salvestatud sellesse kohta teie arvutis. Selle tulemusena säilib faili nimi automaatselt.

Samamoodi nagu eelmises näites, salvestab see ka pdf-faili lehe numbri.

VBA koodi selgitus

 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, filename:=loc, OpenAfterPublish:=False, IncludeDocProperties:=True, IgnorePrintAreas:=False, Quality:=xlQualityStandard, From:=1, To:=2 

Koodiplokk on excel-faili printimiseks ja salvestamiseks pdf-formaadis.

Loe edasi: Printimine PDF-i ja e-kirja kasutades VBA-d Excelis (2 kasulikku juhtumit)

6. VBA funktsioon PDF-i printimiseks ja faili nime automaatseks salvestamiseks

Uurime veel ühte Exceli VBA viisi PDF-i printimiseks ja failinime automaatseks salvestamiseks. Selles näites kasutame funktsiooni ja salvestame faili PDF-i. Samuti kasutame funktsiooni Msgbox anda meile teate, kas fail on salvestatud või mitte.

SAMMUD:

  • Alguses mine Arendaja tab> Visual Basic > Sisesta > Moodul .
  • Või, paremklõpsamine töölehel avaneb aken. Sealt edasi minna töölehega Vaata koodi .
  • Ja see viib teid Visual Basic toimetaja väli, kuhu me võime kirjutada VBA makros .
  • Teisest küljest, vajutades Alt + F11 avab ka Visual Basic toimetaja .
  • Pärast seda sisestage VBA kood.

VBA kood:

 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 
  • Ja käivitage kood, et näha tulemust, vajutades nuppu F5 klahv .

  • See ilmub Msgbox ja veenduge, et PDF-fail on nüüd trükkimiseks valmis.

  • Samamoodi nagu varem, märkate, et töövihiku PDF-faili on juba salvestatud sellesse kohta arvutis. Selle tulemusena säilib faili nimi vaikimisi. Kuna me määrasime faili nime Prindi PDF , see salvestas faili nime Prindi PDF.

Kui te vaatate eelmise koodi selgitust, siis saate koodiread õigesti aru. Te ei pea koodi muutma, vaid lihtsalt muutke vahemikke vastavalt oma eelistustele. Võite kopeerida koodi ja kasutada seda oma tööeesmärkide jaoks.

Loe edasi: Exceli makro, et salvestada PDF-i failinimega lahtri väärtusest (2 näidet)

7. Exceli VBA-kood PDF-i printimiseks ja failinime automaatseks salvestamiseks

Vaatame veel ühte Exceli VBA meetodit PDF-i printimiseks ja failinime automaatseks salvestamiseks.

SAMMUD:

  • Alustamiseks navigeerige veebilehele Arendaja vahekaart lindil.
  • Teiseks valige koodide jaotises Visual Basic et käivitada Visual Basic toimetaja . avamiseks Visual Basic toimetaja , klõpsake Alt + F11 .
  • Teise võimalusena võite lihtsalt teha oma töölehel parempoolse hiireklõpsu ja valida Vaata koodi See viib teid Visual Basic toimetaja samuti.
  • See kuvatakse Visual Basic toimetaja , kus me kirjutame koodi, et genereerida tabel vahemikust.
  • Kolmandaks valige rippmenüüribalt Insert (Sisestada) käsk Moodul .
  • Ja kopeeri ja kleebi VBA allpool esitatud kood.

VBA kood:

 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 
  • Seejärel käivitage kood, klõpsates nuppu RubSub nuppu või vajutades F5 klaviatuurikombinatsioon.

  • Eriti siis, kui Msgbox ilmub.

  • Fail salvestatakse PDF-failina sama automatiseeritud failinimega nagu eelmises näites.

VBA koodi selgitus

 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 

Need on aktiivse töövihiku kausta saamiseks, kui töövihik on salvestatud.

 sf = snam & ".pdf" slocf = sloc & sf 

See loob vaikimisi nime failide salvestamiseks.

 wrksht.ExportAsFixedFormat Type:=xlTypePDF, filename:=slocf, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False 

See plokk lihtsalt ekspordib Exceli faili PDF-i praegusesse kausta.

 MsgBox "Print PDF: " & vbCrLf & strPathFile exitHandler: Exit Sub errHandler: MsgBox "Not Print" Resume exitHandler 

See võimaldab meil näha kinnitussõnumit koos faili infoga Microsoft Excelis.

Loe edasi: Printimine PDF-i, kasutades Exceli makronuppu (5 makro-varianti)

8. Konkreetse Exceli lehe printimine automaatse failinimega

Vaatame teistsugust Exceli VBA meetodit PDF-i printimiseks ja faili nime automaatseks salvestamiseks.

SAMMUD:

  • Esmalt valige Arendaja vahekaart lindilt.
  • Teiseks, vastavalt Kood kategooria, valige Visual Basic et käivitada Visual Basic toimetaja Teise võimalusena vajutage Alt + F11 et käivitada Visual Basic toimetaja .
  • Selle asemel tehke oma töölehel paremklõps ja valige Vaata koodi .
  • See kuvatakse Visual Basic toimetaja , kus me kirjutame oma koodi, et genereerida tabel vahemikust.
  • Kolmandaks valige rippmenüüst Insert (Sisesta) moodul.
  • Edasi kopeeri ja kleebi VBA kood allpool.

VBA kood:

 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 
  • Peale selle käivitage kood, klõpsates nupule RubSub nuppu või kasutades F5 klaviatuurikombinatsioon.

  • See fail salvestatakse PDF-failina, millel on sama nimi kui eelmises näites.

VBA koodi selgitus

 Dim loc As String Dim r As Range loc = "E:\PDF File.pdf" Set rng = Sheets("IT").Range("A1:F13") 

Need koodide plokid on mõeldud muutujate loomiseks ja määramiseks.

 rng.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=loc 

See salvestab mitmesuguseid failiandmeid PDF-vormingus.

Loe edasi: Kuidas konverteerida Excel PDF-i ilma vormingu kaotamiseta (5 tõhusat viisi)

9. Faili nime automaatne salvestamine Excel VBAs PDF-i printimise ajal

Vaatame veel ühte Exceli VBA meetodit PDF-i printimiseks ja failinime automaatseks salvestamiseks.

SAMMUD:

  • Alustuseks valige Arendaja vahekaart lindilt.
  • Teiseks, valige Visual Basic alates Kood ala avada Visual Basic toimetaja . Alt + F11 et käivitada Visual Basic toimetaja .
  • Võite teha oma töölehel ka paremklõpsu ja valida Vaata koodi See viib teid ka Visual Basic toimetaja .
  • Nüüd näeme, et Visual Basic toimetaja , kus me kirjutame koodi tabeli loomiseks vahemikust.
  • Lisaks valige Moodul alates Sisesta rippmenüü riba.
  • Seejärel kopeeri ja kleebi VBA järgnev kood.

VBA kood:

 Sub Prnt_PDF() Call Automatic_Name End Sub Function Automatic_Name() As Boolean ' Kopeerib lehed uude PDF faili e-maili saatmiseks 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 "Saved as .pdf file: " & vbCrLf & vbCrLf & SvAs & _ "Review the .pdf document."Automatic_Name = True GoTo EndMacro RefLibError: MsgBox "Ei ole võimalik salvestada PDF-ina." Automatioc_Name = False EndMacro: End Function 
  • Seejärel täidetakse kood, kui klõpsate nupule RubSub nuppu või kasutades F5 klaviatuurikombinatsioon.

VBA koodi selgitus

 sht = ActiveSheet.Name file = ActiveWorkbook.Name loc = ActiveWorkbook.Path s = loc & "\" & sht & ".pdf" 

Faili saamiseks pdf-formaadis ja pdf-i nime salvestamiseks.

 On Error Resume Next ActiveSheet.PageSetup.PrintQuality = 600 err.Clear On Error GoTo 0 

See määrab lihtsalt trükikvaliteedi.

 On Error GoTo RefLibError ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, filename:=s, Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=True On Error GoTo 0 SaveOnly: MsgBox "Saved as .pdf file: " & vbCrLf & vbCrLf & SvAs & _ "Review the .pdf document." Automatic_Name = True GoTo EndMacro RefLibError: MsgBox "Unable to save asPDF." Automatioc_Name = False 

Need read annavad kasutajale juhiseid, kuidas saata faili pdf-formaadis printimiseks.

Loe edasi: Kuidas salvestada Exceli PDF-i ilma lõikamiseta (4 sobivat viisi)

Kokkuvõte

Ülaltoodud meetodid aitavad teil seda tööd teha alates Prindi PDF-i ja salvesta automaatne failinimi Excel VBA-sse . ma loodan, et see aitab teid! Kui teil on küsimusi, ettepanekuid või tagasisidet, siis andke meile sellest teada kommentaaride sektsioonis. Või võite heita pilgu meie teistesse artiklitesse aadressil ExcelWIKI.com blogi!

Hugh West on suurte kogemustega Exceli koolitaja ja analüütik, kellel on selles valdkonnas üle 10-aastane kogemus. Tal on raamatupidamise ja rahanduse bakalaureusekraad ning ärijuhtimise magistrikraad. Hugh’l on kirg õpetamise vastu ning ta on välja töötanud ainulaadse õpetamisviisi, mida on lihtne järgida ja mõista. Tema Exceli ekspertteadmised on aidanud tuhandetel õpilastel ja spetsialistidel üle maailma oma oskusi parandada ja karjääris silma paista. Oma ajaveebi kaudu jagab Hugh oma teadmisi maailmaga, pakkudes tasuta Exceli õpetusi ja veebikoolitusi, mis aitavad üksikisikutel ja ettevõtetel oma potentsiaali täielikult ära kasutada.