Excel VBA na tlač ako PDF a uloženie s automatickým názvom súboru

  • Zdieľajte To
Hugh West

Vývoz má svoje výhody Excel tabuľky ako PDF dokumentu. Zmenou súboru na formát PDF ho budeme môcť vytlačiť a zdieľať s rôznymi profesionálnymi kontaktmi. PDF je dôveryhodný štandard na exportovanie dokumentov, ktoré cítite potrebu zdieľať s ostatnými alebo zverejniť. V tomto článku si ukážeme niekoľko príkladov VBA na tlač vo formáte PDF a uloženie s automatickým názvom súboru.

Stiahnite si cvičebnicu

Môžete si stiahnuť pracovný zošit a precvičovať s nimi.

VBA Tlač do PDF.xlsm

9 príkladov aplikácie Excel VBA na tlač ako PDF a uloženie s automatickým názvom súboru v programe Excel

Súbor programu Excel môžeme ľahko vytlačiť ako súbor PDF a uložiť ho s automatickým názvom súboru pomocou panela nástrojov programu Excel. Ale jednoduchšie by bolo s Excel VBA . Potrebujeme len VBA kódu a spustiť ich. Na dokončenie úlohy nepotrebujeme toľko kliknutí, čo šetrí náš čas.

Visual Basic pre aplikácie ( VBA ) je programovací model a izolovaný program, ktorý sa najčastejšie vyskytuje v Microsoft Office Je to analytický nástroj, často dostupný ako Doplnky aplikácie Excel , ktorý optimalizuje manuálne operácie, ako sú monotónne, časovo náročné práce. CSV súbory. Pozrime sa teda na niekoľko príkladov na tlač súboru Excel ako PDF s automatickým názvom súboru.

1. Tlač zošita do PDF & Automatické uloženie názvu súboru v programe Excel

Predpokladajme, že chceme vytlačiť celý zošit a uložiť názov súboru tak, ako sme ho uviedli v našom kóde. Teraz predpokladajme, že chceme uložiť súbor PDF do nášho počítača Miestny disk (E:) . Ako vidíme na obrázku nižšie, umiestnenie neobsahuje žiadne súbory pdf. Po spustení kódu VBA budeme môcť zobraziť náš požadovaný PDF súbor na tomto mieste v našom počítači.

S Excel VBA , môžu používatelia jednoducho používať kód, ktorý funguje ako ponuky Excelu z pásu kariet. Ak chcete použiť VBA kód na tlač pdf a uloženie s automatickým názvom súboru, postupujme podľa tohto postupu.

KROKY:

  • Najprv prejdite na Vývojár na páse kariet.
  • Po druhé, z Kód kliknite na kategóriu Visual Basic otvoriť Editor jazyka Visual Basic . Alebo stlačte Alt + F11 otvoriť Editor jazyka Visual Basic .

  • Namiesto toho môžete jednoducho kliknúť pravým tlačidlom myši na pracovný hárok a prejsť na Zobraziť kód Tým sa dostanete aj na Editor jazyka Visual Basic .

  • Táto informácia sa zobrazí v Editor jazyka Visual Basic kde napíšeme naše kódy na vytvorenie tabuľky z rozsahu.
  • Po tretie, kliknite na Modul z Vložte rozbaľovací panel ponuky.

  • Tým sa vytvorí Modul v zošite.
  • A skopírujte a vložte VBA kód uvedený nižšie.

Kód VBA:

 Sub Print_Workbook() Dim loc As String loc = "E:\Workbook.pdf" ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=loc End Sub 
  • Kód spustíte stlačením tlačidla F5 na klávesnici.

  • Nakoniec môžete vidieť, že názov súboru PDF, Pracovný zošit sa teraz nachádza na tejto ceste vo vašom počítači. To znamená, že názov súboru sa automaticky uloží.

  • A nakoniec, ak sa vrátite do svojho zošita, môžete vidieť niekoľko prerušovaných čiar. Je to preto, že súbor je teraz pripravený na tlač.

Vysvetlenie kódu VBA

 Sub Print_Workbook() 

Sub je časť kódu, ktorá slúži na spracovanie práce v kóde, ale nevráti žiadnu hodnotu. Je tiež známa ako podprocedúra. Našu procedúru teda pomenujeme Print_Workbook() .

 loc = "E:\Workbook.pdf" 

Tento riadok slúži na zadanie umiestnenia a názvu súboru pdf. Tu uložíme náš súbor do E: na našom počítači a pomenujte súbor Pracovný zošit .

 ActiveWorkbook.ExportAsFixedFormat Typ:=xlTypePDF, názov súboru:=loc 

Tento riadok kódu slúži na exportovanie súboru Excel do formátu PDF a jeho prípravu na tlač.

 Koniec Sub 

Tým sa postup ukončí.

Prečítajte si viac: Export Excelu do PDF s hypertextovými odkazmi (2 rýchle metódy)

2. Uloženie aktívneho pracovného hárka automaticky ako PDF

Pozrime sa na ďalší príklad tlače aktívneho listu do formátu pdf a automatického uloženia názvu súboru pomocou Excel VBA .

KROKY:

  • Najprv prejdite na Rozvíjať r na páse kariet.
  • Po druhé, kliknite na Visual Basic otvoriť Editor jazyka Visual Basic .
  • Ďalší spôsob otvorenia Editor jazyka Visual Basic je jednoducho stlačiť Alt + F11 .
  • Alebo kliknite pravým tlačidlom myši na hárok a vyberte položku Zobraziť kód .
  • Ďalej prejdite na stránku Vložte a vyberte Modul z rozbaľovacej ponuky.
  • Otvorí sa okno Visual Basic.
  • Potom skopírujte a vložte Kód VBA nižšie.

Kód VBA:

 Sub Print_Sheet() Dim loc As String loc = "E:\Worksheet.pdf" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=loc End Sub 
  • Ďalej stlačte tlačidlo Kláves F5 alebo kliknite na Run Sub spustiť kód.

  • Podobne ako v predchádzajúcom príklade sa súbor uloží ako PDF s automatickým názvom súboru.

Ak si prečítate example1's kód, pochopíte to aj vy.

Prečítajte si viac: Makro programu Excel: Uložiť ako PDF s dátumom v názve súboru (4 vhodné príklady)

3. Tlač súboru PDF z programu Excel pomocou VBA v rozsahu

Pozrime sa na ďalší príklad využitia programu Excel VBA na automatickú tlač aktívneho hárka do formátu pdf a uloženie názvu súboru.

KROKY:

  • Ak chcete začať, kliknite na Vývojár na páse kariet.
  • Po druhé, spustite Editor jazyka Visual Basic kliknutím na Visual Basic .
  • Prípadne môžete získať prístup k Editor jazyka Visual Basic stlačením Alt + F11 .
  • Alebo, kliknutie pravým tlačidlom myši na na hárku a vyberte Zobraziť kód z ponuky.
  • Potom vyberte Modul z rozbaľovacieho zoznamu v časti Vložte .
  • Zobrazí sa okno Visual Basic.
  • Napíšte tam kód.

Kód VBA:

 Sub PrntPDF() ActiveWindow.SelectedSheets.PrintOut Copies:=1, _ Collate:=True, ActivePrinter:="Adobe PDF" Dim fnam As String fnam = Range("B4").Value End Sub 
  • Nakoniec stlačte tlačidlo Kláves F5 na spustenie kódu.

  • Potom uvidíte, že do tohto umiestnenia v počítači bol pridaný súbor PDF s názvom Pracovný zošit. V dôsledku toho sa názov súboru automaticky zachová.

Prečítajte si viac: Tlač rozsahu do PDF pomocou VBA v programe Excel (5 najjednoduchších príkladov)

4. Excel VBA na vytvorenie slučky na vybranom liste a tlač PDF

Pozrime sa na ďalší spôsob tlače do PDF a automatického uloženia názvu súboru.

KROKY:

  • Ak chcete začať, otvorte stuhu a vyberte položku Vývojár možnosť.
  • Potom, ak chcete získať prístup k Editor jazyka Visual Basic , kliknite na Visual Basic .
  • Stlačenie Alt + F11 vyvolá aj Editor jazyka Visual Basic .
  • Prípadne, kliknutie pravým tlačidlom myši na hárku a vyberte Zobraziť kód zo zobrazenej ponuky.
  • Teraz z Vložte rozbaľovacej možnosti, vyberte Modul .
  • Potom skopírujte a vložte VBA nasledujúci kód.

Kód 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 
  • Kód spustíte stlačením tlačidla F5 kľúč.

  • Nakoniec môžete vidieť, že súbor PDF pracovného zošita bol nahraný do tejto oblasti v počítači. Následne sa automaticky zachová názov súboru.

Tým sa súbor uloží ako číslo listu zošita.

Vysvetlenie kódu VBA

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

Tento riadok kódov cyklu for slúži na exportovanie súboru Excel ako pdf a tlač súboru.

Prečítajte si viac: Excel VBA: ExportAsFixedFormat PDF s funkciou Fit to Page (3 príklady)

5. Tlač do PDF a uloženie názvu súboru inštinktívne v programe Excel

Teraz sa pozrite na ďalšiu metódu Excel VBA na ukladanie súborov Excel do formátu pdf a pomenujte súbor automatickým systémom.

KROKY:

  • Ak chcete začať, otvorte stuhu a vyberte Vývojár z rozbaľovacej ponuky.
  • Potom vyberte Visual Basic otvoriť Editor jazyka Visual Basic .
  • Stránka Editor jazyka Visual Basic môžete tiež otvoriť stlačením Alt + F11 .
  • Prípadne môžete kliknutie pravým tlačidlom myši na hárku a vyberte Zobraziť kód z kontextového menu.
  • Potom vyberte Modul z Vložte rozbaľovacie menu.
  • Ďalej skopírujte a vložte nasledujúci kód VBA.

Kód 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 
  • Nakoniec spustite kód stlačením F5 na klávesnici a uvidíte výsledok.

  • Následne uvidíte, že Pracovný zošit PDF súbor už bol uložený na tomto mieste v počítači. V dôsledku toho sa názov súboru automaticky zachová.

Podobne, ako v predchádzajúcom príklade, aj tu sa uloží súbor pdf ako číslo listu.

Vysvetlenie kódu VBA

 ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, názov súboru:=loc, OpenAfterPublish:=False, IncludeDocProperties:=True, IgnorePrintAreas:=False, Quality:=xlQualityStandard, From:=1, To:=2 

Blok kódu slúži na tlač a uloženie súboru Excel vo formáte pdf.

Prečítajte si viac: Tlač do PDF a e-mailu pomocou VBA v programe Excel (2 užitočné prípady)

6. Funkcia VBA na automatickú tlač PDF a uloženie názvu súboru

Preskúmame ďalší spôsob tlače do PDF a automatického uloženia názvu súboru v programe Excel VBA. V tomto príklade použijeme funkciu a uložíme súbor do PDF. Použijeme aj Msgbox aby nám poskytol správu, či je súbor uložený alebo nie.

KROKY:

  • Na začiatku prejdite na Vývojár karta> Visual Basic > Vložte > Modul .
  • Alebo, kliknutie pravým tlačidlom myši na na pracovnom hárku sa otvorí okno. Z neho prejdite na Zobraziť kód .
  • Týmto sa dostanete na Editor jazyka Visual Basic pole, kde môžeme napísať Makrá VBA .
  • Na druhej strane, stlačením Alt + F11 otvorí aj Editor jazyka Visual Basic .
  • Potom zadajte VBA kód.

Kód 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) Koniec funkcie 
  • A spustite kód a pozrite si výsledok stlačením tlačidla Kláves F5 .

  • Táto informácia sa zobrazí v Msgbox a uistite sa, že súbor PDF je teraz pripravený na tlač.

  • Podobne, ako predtým, si všimnete, že súbor PDF zošita bol už uložený na toto miesto v počítači. V dôsledku toho je názov súboru predvolene zachovaný. Keďže sme nastavili názov súboru Vytlačiť PDF , uložil názov súboru Tlač PDF.

Ak sa pozriete na vysvetlenie predchádzajúceho kódu, správne pochopíte riadky kódu. Kód nemusíte meniť, stačí zmeniť rozsahy podľa vašich preferencií. Kód si môžete skopírovať a použiť ho na pracovné účely.

Prečítajte si viac: Makro programu Excel na uloženie do formátu PDF s názvom súboru z hodnoty bunky (2 príklady)

7. Kód Excel VBA na automatickú tlač do PDF a uloženie názvu súboru

Pozrime sa na ďalšiu metódu Excel VBA na tlač do PDF a automatické ukladanie názvu súboru.

KROKY:

  • Ak chcete začať, prejdite do Vývojár na páse kariet.
  • Po druhé, v časti Kód vyberte Visual Basic na spustenie Editor jazyka Visual Basic Otvorenie Editor jazyka Visual Basic , kliknite na tlačidlo Alt + F11 .
  • Prípadne môžete jednoducho kliknúť pravým tlačidlom myši na pracovný hárok a vybrať Zobraziť kód . Tým sa dostanete do Editor jazyka Visual Basic tiež.
  • Táto informácia sa zobrazí v Editor jazyka Visual Basic , kde napíšeme kód na generovanie tabuľky z rozsahu.
  • Po tretie, z rozbaľovacieho panela ponuky Insert vyberte Modul .
  • A skopírujte a vložte VBA kód uvedený nižšie.

Kód 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 Koniec Sub 
  • Potom spustite kód kliknutím na tlačidlo RubSub alebo stlačením tlačidla F5 klávesová skratka.

  • Najmä potom, a Msgbox sa objaví.

  • Súbor sa uloží ako PDF s rovnakým automatizovaným názvom súboru ako v predchádzajúcom príklade.

Vysvetlenie kódu 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 

Tie slúžia na získanie aktívneho priečinka zošita, ak je zošit uložený.

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

Tým sa vytvorí predvolený názov pre ukladanie súborov.

 wrksht.ExportAsFixedFormat Typ:=xlTypePDF, názov súboru:=slocf, Kvalita:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False 

Tento blok len exportuje súbor Excel do PDF v aktuálnom priečinku.

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

To nám umožní zobraziť potvrdzujúcu správu s informáciami o súbore v programe Microsoft Excel.

Prečítajte si viac: Tlač do PDF pomocou tlačidla makra v programe Excel (5 variantov makier)

8. Tlač konkrétneho hárku programu Excel s automatickým názvom súboru

Pozrime sa na inú metódu Excel VBA na tlač do PDF a automatické ukladanie názvu súboru.

KROKY:

  • V prvom rade vyberte Vývojár na páse kariet.
  • Po druhé, podľa Kód vyberte kategóriu Visual Basic na spustenie Editor jazyka Visual Basic . Prípadne stlačte Alt + F11 na spustenie Editor jazyka Visual Basic .
  • Namiesto toho kliknite pravým tlačidlom myši na pracovný hárok a vyberte položku Zobraziť kód .
  • Zobrazí sa v Editor jazyka Visual Basic , kde napíšeme náš kód na generovanie tabuľky z rozsahu.
  • Po tretie, z rozbaľovacej ponuky Insert vyberte Modul.
  • Ďalej skopírujte a vložte Kód VBA nižšie.

Kód 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 
  • Ďalej spustite kód kliknutím na RubSub alebo pomocou tlačidla F5 klávesová skratka.

  • Tento súbor sa uloží ako PDF s rovnakým názvom ako v predchádzajúcom príklade.

Vysvetlenie kódu VBA

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

Tieto bloky kódov slúžia na vytváranie a priraďovanie premenných.

 rng.ExportAsFixedFormat Typ:=xlTypePDF, _ názov súboru:=loc 

Týmto spôsobom sa uloží rozsah údajov súboru vo formáte PDF.

Prečítajte si viac: Ako previesť Excel do PDF bez straty formátovania (5 efektívnych spôsobov)

9. Automatické uloženie názvu súboru pri tlači do PDF v aplikácii Excel VBA

Pozrime sa na ďalšiu metódu Excel VBA na tlač do PDF a automatické ukladanie názvu súboru.

KROKY:

  • Na začiatok vyberte Vývojár na páse kariet.
  • Po druhé, vyberte Visual Basic z Kód otvoriť oblasť Editor jazyka Visual Basic . kliknite na tlačidlo Alt + F11 na spustenie Editor jazyka Visual Basic .
  • Môžete tiež kliknúť pravým tlačidlom myši na pracovný hárok a vybrať Zobraziť kód Tým sa dostanete aj na Editor jazyka Visual Basic .
  • Teraz môžeme vidieť Editor jazyka Visual Basic , kde napíšeme kód na vytvorenie tabuľky z rozsahu.
  • Ďalej vyberte Modul z Vložte rozbaľovací panel ponuky.
  • Potom skopírujte a vložte VBA nasledujúci kód.

Kód VBA:

 Sub Prnt_PDF() Call Automatic_Name End Sub Function Automatic_Name() As Boolean ' Kopíruje hárky do nového PDF súboru na odoslanie e-mailom 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 "Unable to save as PDF." Automatioc_Name = False EndMacro: End Function 
  • Kód sa potom vykoná kliknutím na tlačidlo RubSub alebo pomocou tlačidla F5 klávesová skratka.

Vysvetlenie kódu VBA

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

Na získanie súboru vo formáte pdf a uloženie názvu pdf.

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

Týmto sa len nastaví kvalita tlače.

 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 

Tieto riadky budú používateľa informovať o tom, ako má súbor odoslať, aby ho vytlačil vo formáte pdf.

Prečítajte si viac: Ako uložiť Excel ako PDF bez odrezania (4 vhodné spôsoby)

Záver

Vyššie uvedené metódy vám pomôžu urobiť túto prácu z Tlač do PDF a uloženie automatického názvu súboru v programe Excel VBA . dúfam, že vám to pomôže! Ak máte nejaké otázky, návrhy alebo spätnú väzbu, dajte nám vedieť v sekcii komentárov. Alebo si môžete pozrieť naše ďalšie články v ExcelWIKI.com blog!

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.