Na uloženie vybraného rozsahu v Exceli (povedzme účtenke) ako PDF v Exceli pomocou VBA použite nižšie uvedenú syntax.
Generický kód
Sub SaveRangeAsPDF () Rozsah.ExportAsFixedFormat Typ: = xlTypePDF, Názov súboru:= _ "C: \ Users \ názov_súboru", Kvalita: = xlQualityStandard, _ IncludeDocProperties: = True, IgnorePrintAreas: = False, OpenAfterPublish: = True End Sub
Vyššie uvedený kód je generický kód na uloženie pevného rozsahu ako dokumentu PDF. Keď vaše makro záznamu počas exportu programu Excel do formátu PDF, zobrazí sa podobný kód.
Rozsah:Môže to byť pevný rozsah, dynamický rozsah alebo výber. Musíte to definovať.
Názov súboru: Toto je úplný názov pdf. Definujte ho ako reťazec.
Ostatné premenné je možné ponechať tak, ako sú. Vysvetlil som im to na príklade.
Príklad: Vytlačte potvrdenku programu Excel ako PDF pomocou VBA
Povedzme, že účtenky musíte pravidelne tlačiť a odosielať v Exceli. V takom prípade by ste to chceli zautomatizovať. Nechcete, aby sa export Excelu do formátu PDF opakoval znova a znova. Ak to urobíte pomocou tlačidla, bolo by to užitočné, však?
Tu som navrhol tento formát potvrdenia. Chcem ho vytlačiť/uložiť/exportovať ako PDF pomocou tlačidla „Vytvoriť PDF“.
Tento príjmový doklad pokrýva rozsah „A2: L21“. Už som nastavil oblasť tlače.
Aby sme ušetrili na tomto rozsahu Excelov ako PDF, použijeme vyššie uvedený generický kód VBA na export listu programu Excel do formátu PDF. Kód upravíme podľa našich požiadaviek.
Sub PrintSelectionToPDF () Dim faktúraRng ako rozsah Dim pdfile ako reťazec 'Nastavovací rozsah pre tlač Nastaviť FaktúraRng = Rozsah ("A1: L21")' nastavenie názvu súboru s časovou pečiatkou. pdfile = "faktúra" & "_" & Formát (Teraz (), "rrrrmmdd_hhmmss") & ".pdf" 'nastavenie úplného kvalifikovaného názvu. Výsledné PDF sa uloží tam, kde existuje hlavný súbor. pdfile = ThisWorkbook.Path & strfile licenseRng.ExportAsFixedFormat Typ: = xlTypePDF, _ názov súboru: = pdfile, _ kvalita: = xlQualityStandard, _ IncludeDocProperties: = pravda, _ IgnorePrintAreas: = nepravda, _ OpenAfterPublish:
Použitie kódu:
Skopírujte vyššie uvedený kód do súboru s potvrdením otvorením editora VBA (použite Alt+F11). Upravte rozsah a cestu k súboru (ak chcete) v kóde, ktorý chcete vytlačiť. Pracovný súbor si môžete stiahnuť nižšie.
Uložte rozsah Excel ako PDF pomocou VBA
Vysvetlenie:
Dim faktúraRng ako rozsah Dim pdfile ako reťazec
Kód je jednoduchý. Najprv sme vytvorili dve premenné. "InvoiceRng as Range" pre rozsah/list, ktorý chceme uložiť ako pdf. strFile pre plne kvalifikovaný názov súboru výsledného PDF.
Nastaviť faktúruRng = rozsah ("A1: L21")
Pretože je náš rozsah tlače pevný, nastavili sme rozsah faktúr ako Rozsah („A1: L21“).
pdfile = "faktúra" & "_" & formát (Teraz (), "rrrrmmdd_hhmmss") & ".pdf" pdfile = ThisWorkbook.Path & strfile
Vo vyššie uvedených dvoch riadkoch súbor najskôr pomenujeme časovou pečiatkou a potom pridáme na cestu k hlavnému súboru. Výsledkom je, že súbor pdfile obsahuje úplný názov výsledného súboru PDF.
fakturaRng.ExportAsFixedFormat _ Typ: = xlTypePDF, _ Názov súboru: = pdfile, _ Kvalita: = xlQualityStandard, _ IncludeDocProperties: = True, _ IgnorePrintAreas: = True, _ OpenAfterPublish: = False
Nakoniec použijeme metódu ExpoortAsFixedFormat triedy Range na vytlačenie definovaného rozsahu programu Excel ako PDF. Typ definujeme ako xlTypePDF. Ďalšou možnosťou je xlTypeXPS, ktorý uloží vybratý rozsah ako súbor XPS.
Názov súboru sme nastavili ako súbor pdfile, ktorý obsahuje reťazec plne kvalifikovaného názvu súboru pdf. Tu môžete napísať naprogramovaný text alebo ho prispôsobiť podľa svojich potrieb.
Ďalej sme nastavili kvalitu súboru pdfil ako xlQualityStandard. Máme inú možnosť ako xlQualityMinimum.
Ďalej nastavíme IncludeDocProperties ako True. To znamená, že výsledný PDF bude mať vlastnosti dokumentu.
Potom nastavíme IgnorePrintAreas ako True. Znamená to, že bude ignorovať všetky už nastavené oblasti tlače.
Nakoniec sme nastavili OpenAfterPublish ako False. To znamená, že súbor, ktorý vytvoríte, sa neotvorí automaticky. Nastavil som to na falošné, pretože pomocou slučky vytvorím 100 s súborov a nechcem, aby sa otvorili. Ak chcete súbor otvoriť po vytvorení pomocou programu Excel, nastavte ho na hodnotu True.
Použitie tlače vo vybranom rozsahu vo formáte pdf
Jedným zo základných použití je vytlačenie zvoleného rozsahu jednoduchým kliknutím na jedno tlačidlo. Ale najlepšie je použiť ho v slučke, kde potrebujete vytvoriť viac potvrdení pre rôznych klientov. Vytvorte podpoložku na vyplnenie údajov a potom použite tento kód na vytlačenie zvoleného rozsahu v slučke.
Takže áno, chlapci, takto môžete uložiť vybraný rozsah vo formáte pdf. Dúfam, že to bolo pre vás užitočné. Ak máte stále nejaké pochybnosti alebo otázky týkajúce sa tlače v programe Excel v programe VBA, opýtajte sa v nižšie uvedenej sekcii komentárov.
Vytlačte viac výberov na jeden list pomocou VBA v programe Microsoft Excel | Vyberte viac rozsahov a vytlačte každý rozsah na iný list pomocou VBA.
Vytlačte všetky zošity v priečinku pomocou jazyka VBA v programe Microsoft Excel | Tento kód VBA použite na vytlačenie a uloženie každého zošita programu Excel do priečinka pomocou.
Populárne články:
Rozdeľte hárok programu Excel do viacerých súborov na základe stĺpca pomocou VBA | Tento kód VBA rozdelil základný list programu Excel na jedinečné hodnoty v zadanom stĺpci. Stiahnite si pracovný súbor.
Vypnúť výstražné správy pomocou VBA v programe Microsoft Excel 2016 | Na vypnutie výstražných správ, ktoré prerušujú spustený kód VBA, používame triedu Application.
Pridať a uložiť nový zošit pomocou jazyka VBA v programe Microsoft Excel 2016 | Na pridávanie a ukladanie zošitov pomocou jazyka VBA používame triedu zošity. Zošity. Pridajte nový zošit ľahko, ale…