Excel VBA za tiskanje kot PDF in shranjevanje s samodejnim imenom datoteke

  • Deliti To
Hugh West

Izvoz je koristen za Excel preglednico kot PDF dokument. S spremembo datoteke v obliko PDF jo bomo lahko natisnili in delili z različnimi poklicnimi povezavami. PDF je zanesljiv standard za izvoz dokumentov, za katere menite, da jih morate deliti z drugimi ali objaviti. V tem članku bomo prikazali nekaj primerov VBA za tiskanje kot PDF in shranjevanje s samodejnim imenom datoteke.

Prenesi delovni zvezek za prakso

Prenesete lahko delovni zvezek in vadite z njimi.

VBA Tiskanje v PDF.xlsm

9 primerov Excel VBA za tiskanje kot PDF in shranjevanje s samodejnim imenom datoteke v Excelu

Excelovo datoteko lahko preprosto natisnemo kot datoteko PDF in jo shranimo s samodejnim imenom datoteke z uporabo orodne vrstice Excel. Vendar bi bilo lažje z Excel VBA . Potrebujemo le VBA kodo in jih zaženite. Za dokončanje naloge ne potrebujemo toliko klikov, kar nam prihrani čas.

Visual Basic za aplikacije ( VBA ) je programski model in izoliran program, ki se najpogosteje uporablja v Microsoft Office Gre za analitično orodje, ki je pogosto na voljo kot Dodatki za Excel , ki optimizira ročna opravila, kot so monotona in dolgotrajna opravila. CSV Zato si oglejmo nekaj primerov za tiskanje datoteke Excel kot datoteke PDF s samodejnim imenom datoteke.

1. Tiskanje delovnega zvezka v PDF & amp; samodejno shranite ime datoteke v Excelu

Predpostavimo, da želimo natisniti celoten delovni zvezek in shraniti ime datoteke, kot smo ga zapisali v naši kodi. Zdaj predpostavimo, da želimo v računalnik shraniti datoteko PDF Lokalni disk (E:) Kot lahko vidimo na spodnji sliki, lokacija ne vsebuje nobenih datotek pdf. Po zagonu kode VBA bomo lahko videli našo želeno PDF datoteko na tem mestu v našem računalniku.

S spletno stranjo Excel VBA , lahko uporabniki preprosto uporabijo kodo, ki deluje kot meniji Excel s traku. Če želite uporabiti VBA kodo za tiskanje pdf in shranjevanje z avtomatskim imenom datoteke, sledimo postopku.

KORAKI:

  • Najprej pojdite v Razvijalec z zavihka v traku.
  • Drugič, iz Koda kliknite na kategorijo Visual Basic da odprete Urejevalnik Visual Basic . Ali pa pritisnite Alt + F11 da odprete Urejevalnik Visual Basic .

  • Namesto tega lahko z desno tipko miške kliknete na delovni list in izberete Prikaži kodo To vas bo pripeljalo tudi do Urejevalnik Visual Basic .

  • To bo prikazano v Urejevalnik Visual Basic kjer zapišemo kode za ustvarjanje tabele iz območja.
  • Tretjič, kliknite na Modul iz Vstavite v spustnem meniju.

  • To bo ustvarilo Modul v delovnem zvezku.
  • Kopirajte in prilepite VBA spodaj prikazana koda.

Koda VBA:

 Sub Print_Workbook() Dim loc As String loc = "E:\Workbook.pdf" ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=loc End Sub 
  • Zaženite kodo tako, da pritisnete tipko F5 na tipkovnici.

  • Nazadnje lahko vidite, da je ime datoteke PDF, Delovni zvezek se zdaj nahaja na tej poti v vašem računalniku. To pomeni, da je ime datoteke samodejno shranjeno.

  • Če se vrnete v delovni zvezek, boste videli nekaj črtkanih črt. To je zato, ker je datoteka pripravljena za tiskanje.

Razlaga kode VBA

 Sub Print_Workbook() 

Pod je del kode, ki se uporablja za obdelavo dela v kodi, vendar ne vrne nobene vrednosti. Znan je tudi kot podprocedura. Tako poimenujemo našo proceduro Print_Workbook() .

 loc = "E:\Workbook.pdf" 

Ta vrstica je namenjena lokaciji in imenu datoteke pdf. Tu shranimo našo datoteko v E: na našem računalniku in datoteko poimenujte Delovni zvezek .

 ActiveWorkbook.ExportAsFixedFormat Vrsta:=xlTypePDF, ime datoteke:=loc 

Ta vrstica kode je namenjena izvozu datoteke Excel v obliki PDF in pripravi za tiskanje.

 Končni podnaslov 

S tem se postopek konča.

Preberite več: Izvoz programa Excel v PDF s hiperpovezavami (2 hitri metodi)

2. Aktivni delovni list samodejno shranite kot PDF

Oglejmo si še en primer tiskanja aktivnega lista v pdf in samodejnega shranjevanja imena datoteke z uporabo Excel VBA .

KORAKI:

  • Najprej pojdite v Razvoj r v traku.
  • Drugič, kliknite na Visual Basic da odprete Urejevalnik Visual Basic .
  • Drug način za odprtje Urejevalnik Visual Basic je preprosto pritisniti Alt + F11 .
  • Ali pa z desno tipko miške kliknite list in izberite Prikaži kodo .
  • Nato pojdite v Vstavite in izberite Modul iz spustnega menija.
  • Odprlo se bo okno Visual Basic.
  • Nato kopirajte in prilepite Koda VBA spodaj.

Koda VBA:

 Sub Print_Sheet() Dim loc As String loc = "E:\Worksheet.pdf" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=loc End Sub 
  • Poleg tega pritisnite Tipka F5 ali kliknite na Run Sub za zagon kode.

  • Podobno kot v prejšnjem primeru se datoteka shrani kot PDF s samodejnim imenom datoteke.

Če preberete example1's razlago kode, boste razumeli tudi to.

Preberite več: Excelov makro: Shrani kot PDF z datumom v imenu datoteke (4 primerni primeri)

3. Tiskanje datoteke PDF iz programa Excel z VBA v obsegu

Oglejmo si še en primer uporabe programa Excel VBA za tiskanje aktivnega lista v pdf in samodejno shranjevanje imena datoteke.

KORAKI:

  • Če želite začeti, kliknite Razvijalec na traku.
  • Drugič, zaženite Urejevalnik Visual Basic s klikom na Visual Basic .
  • Lahko pa dostopate tudi do Urejevalnik Visual Basic s pritiskom na Alt + F11 .
  • Ali, z desnim klikom miške kliknite . na listu in izberite Prikaži kodo iz menija.
  • Nato izberite Modul iz spustnega okna pod Vstavite .
  • Pojavilo se bo okno Visual Basic.
  • Kodo zapišite tja.

Koda VBA:

 Sub PrntPDF() ActiveWindow.SelectedSheets.PrintOut Copies:=1, _ Collate:=True, ActivePrinter:="Adobe PDF" Dim fnam As String fnam = Range("B4").Value End Sub 
  • Na koncu pritisnite Tipka F5 za zagon kode.

  • Nato lahko vidite, da je bila na to mesto v računalniku dodana datoteka PDF z imenom Delovni zvezek. Zaradi tega se ime datoteke samodejno ohrani.

Preberite več: Tiskanje obsega v PDF z VBA v Excelu (5 najlažjih primerov)

4. Excel VBA za ustvarjanje zanke na izbranem listu in tiskanje PDF

Oglejmo si še en način tiskanja v PDF in samodejnega shranjevanja imena datoteke.

KORAKI:

  • Če želite začeti, odprite trak in izberite Razvijalec možnost.
  • Če želite dostopati do Urejevalnik Visual Basic , kliknite na Visual Basic .
  • Pritiskanje Alt + F11 prikliče tudi Urejevalnik Visual Basic .
  • Druga možnost, z desnim klikom miške kliknite . list in izberite Prikaži kodo v meniju, ki se prikaže.
  • Zdaj, od Vstavite spustno možnost, izberite Modul .
  • Nato kopirajte in prilepite VBA kodo, ki sledi.

Koda VBA:

 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 
  • Zaženite kodo tako, da pritisnete tipko F5 ključ.

  • Na koncu lahko vidite, da je bila datoteka PDF delovnega zvezka naložena na to območje v vašem računalniku. Posledično se ime datoteke samodejno ohrani.

Datoteko boste shranili kot številko lista delovnega zvezka.

Razlaga kode VBA

 Za vsak wrksht v sht wrksht.Select wrksht.ExportAsFixedFormat Type:=xlTypePDF, filename:=ThisWorkbook.Path & "/" & wrksht.Name & ".pdf" Naslednji wrksht 

Ta vrstica kode zanke for je namenjena izvozu datoteke Excel kot datoteke pdf in tiskanju datoteke.

Preberite več: Excel VBA: IzvozAsFixedFormat PDF s prileganjem na stran (3 primeri)

5. Natisnite v PDF in shranite ime datoteke instinktivno v Excelu

Zdaj si oglejte še eno metodo Excel VBA za shranjevanje datotek Excel v pdf in poimenovanje datoteke samodejni sistem.

KORAKI:

  • Če želite začeti, odprite trak in izberite Razvijalec iz spustnega menija.
  • Nato izberite Visual Basic da odprete Urejevalnik Visual Basic .
  • Spletna stran Urejevalnik Visual Basic lahko dostopate tudi tako, da pritisnete Alt + F11 .
  • Druga možnost je, da z desnim klikom miške kliknite . list in izberite Prikaži kodo iz priročnega menija.
  • Nato izberite Modul iz Vstavite spustni meni.
  • Nato kopirajte in prilepite naslednjo kodo VBA.

Koda VBA:

 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 
  • Na koncu zaženite kodo tako, da pritisnete F5 na tipkovnici in videli boste rezultat.

  • Kasneje boste videli, da je Delovni zvezek PDF je bila datoteka že shranjena na to mesto v računalniku. Zato se ime datoteke samodejno ohrani.

Podobno kot v prejšnjem primeru bo tudi v tem primeru datoteka pdf shranjena kot številka lista.

Razlaga kode VBA

 ActiveSheet.ExportAsFixedFormat Vrsta:=xlTypePDF, ime datoteke:=loc, OpenAfterPublish:=False, IncludeDocProperties:=True, IgnorePrintAreas:=False, Quality:=xlQualityStandard, From:=1, To:=2 

Blok kode je namenjen tiskanju in shranjevanju datoteke Excel kot datoteke pdf.

Preberite več: Tiskanje v PDF in e-pošto z uporabo VBA v Excelu (2 uporabna primera)

6. Funkcija VBA za samodejno tiskanje PDF in shranjevanje imena datoteke

Preučimo še en način Excel VBA za samodejno tiskanje v PDF in shranjevanje imena datoteke. V tem primeru bomo uporabili funkcijo in shranili datoteko v PDF. Uporabili bomo tudi Msgbox da nam pošlje sporočilo, ali je datoteka shranjena ali ne.

KORAKI:

  • Na začetku pojdite v Razvijalec zavihek> Visual Basic > Vstavite > Modul .
  • Ali, klik z desno tipko miške na delovnem listu se bo odprlo okno. Od tam pojdite na Prikaži kodo .
  • To vas bo pripeljalo do Urejevalnik Visual Basic polje, kjer lahko zapišemo Makri VBA .
  • Po drugi strani pa pritisnite Alt + F11 bo odprl tudi Urejevalnik Visual Basic .
  • Nato vnesite VBA koda.

Koda VBA:

 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) Konec funkcije 
  • Nato zaženite kodo in si oglejte rezultat tako, da pritisnete tipko Tipka F5 .

  • To bo prikazano v Msgbox in se prepričajte, da je datoteka PDF zdaj pripravljena za tiskanje.

  • Podobno kot prej boste opazili, da je bila datoteka PDF delovnega zvezka že shranjena na to mesto v računalniku. Zaradi tega je ime datoteke privzeto ohranjeno. Ko nastavimo ime datoteke Natisni PDF , je shranilo ime datoteke Natisni PDF.

Če si ogledate razlago prejšnje kode, boste pravilno razumeli vrstice kode. Kode vam ni treba spreminjati, samo spremenite območja po svojih željah. Kodo lahko kopirate in jo uporabite za svoj delovni namen.

Preberite več: Excelov makro za shranjevanje kot PDF z imenom datoteke iz vrednosti celice (2 primera)

7. Excelova koda VBA za tiskanje v PDF in samodejno shranjevanje imena datoteke

Oglejmo si še eno metodo Excel VBA za tiskanje v PDF in samodejno shranjevanje imena datoteke.

KORAKI:

  • Če želite začeti, pojdite v Razvijalec na traku.
  • Drugič, v razdelku Koda izberite Visual Basic da zaženete Urejevalnik Visual Basic . Odpiranje Urejevalnik Visual Basic , kliknite Alt + F11 .
  • Lahko pa tudi desno kliknete na delovni list in izberete Prikaži kodo . To vas bo pripeljalo do Urejevalnik Visual Basic prav tako.
  • To bo prikazano v Urejevalnik Visual Basic , kjer bomo napisali kodo za ustvarjanje tabele iz razpona.
  • Tretjič, v spustnem meniju Insert izberite Modul .
  • Kopirajte in prilepite VBA spodaj prikazana koda.

Koda VBA:

 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 Končni podnastavek 
  • Nato kodo izvedite s klikom na RubSub ali pritiskom na gumb F5 bližnjica na tipkovnici.

  • Zlasti je treba upoštevati, da je Msgbox se prikaže.

  • Datoteka se shrani kot PDF z istim imenom samodejne datoteke kot v prejšnjem primeru.

Razlaga kode VBA

 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 

Ti so namenjeni pridobivanju aktivne mape delovnega zvezka, če je delovni zvezek shranjen.

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

Tako boste ustvarili privzeto ime za shranjevanje datotek.

 wrksht.ExportAsFixedFormat Vrsta:=xlTypePDF, ime datoteke:=slocf, kakovost:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False 

Ta blok samo izvozi datoteko Excel v PDF v trenutno mapo.

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

To nam bo omogočilo prikaz potrditvenega sporočila z informacijami o datoteki v programu Microsoft Excel.

Preberite več: Tiskanje v PDF z uporabo makro gumba v Excelu (5 različic makrov)

8. Natisnite določen Excelov list s samodejnim imenom datoteke

Oglejmo si drugačno metodo Excel VBA za tiskanje v PDF in samodejno shranjevanje imena datoteke.

KORAKI:

  • Najprej izberite Razvijalec z zavihka v traku.
  • Drugič, v skladu z Koda izberite kategorijo Visual Basic da zaženete Urejevalnik Visual Basic . Druga možnost je, da pritisnete Alt + F11 da zaženete Urejevalnik Visual Basic .
  • Namesto tega z desno tipko miške kliknite na delovni list in izberite Prikaži kodo .
  • To bo prikazano v Urejevalnik Visual Basic , kjer bomo napisali kodo za ustvarjanje tabele iz območja.
  • Tretjič, v spustnem meniju Insert izberite Modul.
  • Poleg tega kopirajte in prilepite Koda VBA spodaj.

Koda VBA:

 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 
  • Poleg tega zaženite kodo s klikom na RubSub ali z gumbom F5 bližnjica na tipkovnici.

  • Ta datoteka je shranjena kot PDF z enakim imenom kot v prejšnjem primeru.

Razlaga kode VBA

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

Ti bloki kod so namenjeni ustvarjanju in dodeljevanju spremenljivk.

 rng.ExportAsFixedFormat Vrsta:=xlTypePDF, _ ime datoteke:=loc 

To bo shranilo vrsto podatkov iz datoteke v obliki PDF.

Preberite več: Kako pretvoriti Excel v PDF brez izgube oblikovanja (5 učinkovitih načinov)

9. Samodejno shranjevanje imena datoteke med tiskanjem v PDF v programu Excel VBA

Oglejmo si še eno metodo Excel VBA za tiskanje v PDF in samodejno shranjevanje imena datoteke.

KORAKI:

  • Za začetek izberite Razvijalec z zavihka v traku.
  • Drugič, izberite Visual Basic iz Koda za odprtje območja Urejevalnik Visual Basic . klikni Alt + F11 da zaženete Urejevalnik Visual Basic .
  • Lahko tudi desno kliknete na delovni list in izberete Prikaži kodo . To vas bo pripeljalo tudi do Urejevalnik Visual Basic .
  • Zdaj lahko vidimo Urejevalnik Visual Basic , kjer bomo napisali kodo za ustvarjanje tabele iz območja.
  • Poleg tega izberite Modul iz Vstavite v spustnem meniju.
  • Nato kopirajte in prilepite VBA kodo, ki sledi.

Koda VBA:

 Sub Prnt_PDF() Call Automatic_Name End Sub Function Automatic_Name() As Boolean ' Kopira liste v novo datoteko PDF za pošiljanje po e-pošti 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 & _ "Pregled dokumenta .pdf."Automatic_Name = True GoTo EndMacro RefLibError: MsgBox "Unable to save as PDF." Automaticc_Name = false EndMacro: End Function 
  • Koda se bo nato izvedla s klikom na RubSub ali z gumbom F5 bližnjica na tipkovnici.

Razlaga kode VBA

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

Za pridobitev datoteke kot pdf in shranite ime pdf.

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

S tem nastavite samo kakovost tiskanja.

 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 & _ "Pregled dokumenta .pdf." Automatic_Name = True GoTo EndMacro RefLibError: MsgBox "Unable to save asPDF." Automatioc_Name = False 

V teh vrsticah bo uporabnik dobil navodila, kako poslati datoteko, da se natisne kot pdf.

Preberite več: Kako shraniti Excel kot PDF, ne da bi ga odrezali (4 primerni načini)

Zaključek

Zgornje metode vam bodo pomagale opraviti to delo iz Tiskanje v PDF in shranjevanje samodejnega imena datoteke v Excelu VBA . Upam, da vam bo to pomagalo! Če imate kakršna koli vprašanja, predloge ali povratne informacije, nam to sporočite v razdelku za komentarje. Lahko pa si ogledate tudi naše druge članke v ExcelWIKI.com blog!

Hugh West je zelo izkušen trener Excela in analitik z več kot 10-letnimi izkušnjami v industriji. Po izobrazbi je diplomirani računovodstvo in finance ter magisterij poslovne administracije. Hugh ima strast do poučevanja in je razvil edinstven pristop k poučevanju, ki ga je enostavno slediti in razumeti. Njegovo strokovno znanje o Excelu je pomagalo na tisoče študentom in strokovnjakom po vsem svetu, da so izboljšali svoje sposobnosti in se izkazali v karieri. Prek svojega bloga Hugh deli svoje znanje s svetom, ponuja brezplačne vadnice za Excel in spletno usposabljanje, ki posameznikom in podjetjem pomaga doseči njihov polni potencial.