Uložte rozsah aplikace Excel jako PDF pomocí VBA

Obsah:

Anonim

Chcete -li uložit vybraný rozsah v aplikaci Excel (řekněme účtenku) jako PDF v aplikaci Excel pomocí VBA, použijte níže uvedenou syntaxi.

Obecný kód

Dílčí SaveRangeAsPDF () Rozsah.ExportAsFixedFormat Typ: = xlTypePDF, Název souboru:= _ "C: \ Users \ název_souboru", Kvalita: = xlQualityStandard, _ IncludeDocProperties: = True, IgnorePrintAreas: = False, OpenAfterPublish: = True End Sub 

Výše uvedený kód je obecný kód pro uložení pevného rozsahu jako dokument PDF. Když vaše makro záznamu při exportu aplikace Excel do formátu PDF, zobrazí se podobný kód.

Rozsah:Může to být pevný rozsah, dynamický rozsah nebo výběr. Musíte to definovat.

Název souboru: Toto je plně kvalifikovaný název pdf. Definujte jej jako řetězec.

Zbytek proměnných lze ponechat tak, jak jsou. Vysvětlil jsem je po příkladu.

Příklad: Vytiskněte účtenku aplikace Excel jako PDF pomocí VBA

Řekněme, že musíte pravidelně tisknout a odesílat účtenky v Excelu. V takovém případě byste to chtěli zautomatizovat. Nechtěli byste exportovat excel do formátu pdf znovu a znovu. Pokud k tomu stačí použít tlačítko, bylo by to užitečné, že?

Zde jsem navrhl tento formát účtenky. Chci jej vytisknout/uložit/exportovat jako pdf pomocí tlačítka "Vytvořit PDF".

Tato účtenka pokrývá rozsah „A2: L21“. Oblast tisku jsem již nastavil.

Chcete -li ušetřit na tomto rozsahu Excelu jako PDF, použijeme výše uvedený obecný kód VBA pro export listu Excelu do formátu PDF. Kód upravíme podle našich požadavků.

Dílčí PrintSelectionToPDF () Dim fakturaRng jako rozsah Dim pdfile jako řetězec 'Nastavení rozsahu pro tisk Set pdfile = "faktura" & "_" & Formát (Nyní (), "rrrrmmdd_hhmmss") & ".pdf" 'nastavení úplného kvalifikovaného názvu. Výsledné pdf bude uloženo tam, kde existuje hlavní soubor. pdfile = ThisWorkbook.Path & strfile fakturaRng.ExportAsFixedFormat Typ: = xlTypePDF, _ Název souboru: = pdfile, _ Kvalita: = xlQualityStandard, _ IncludeDocProperties: = True, _ IgnorePrintAreas: = False, _ OpenAfterPublish: 

Použití kódu:

Zkopírujte výše uvedený kód do souboru s potvrzením otevřením editoru VBA (použijte Alt+F11). Upravte rozsah a cestu k souboru (pokud chcete) v kódu, který chcete vytisknout. Pracovní soubor si můžete stáhnout níže.

Uložte rozsah aplikace Excel jako PDF pomocí VBA

Vysvětlení:

Dim fakturaRng jako rozsah Dim pdfile jako řetězec 

Kód je jednoduchý. Nejprve jsme vytvořili dvě proměnné. "InvoiceRng as Range" pro rozsah/list, který chceme uložit jako pdf. strFile pro plně kvalifikovaný název souboru výsledného PDF.

Nastavit fakturuRng = rozsah ("A1: L21") 

Protože je náš rozsah tisku pevný, nastavili jsme rozsah faktur jako Rozsah („A1: L21“).

pdfile = "faktura" & "_" & Formát (Nyní (), "rrrrmmdd_hhmmss") & ".pdf" pdfile = ThisWorkbook.Path & strfile 

Ve výše uvedených dvou řádcích nejprve soubor pojmenujeme časovým razítkem a poté přidáme na cestu k hlavnímu souboru. Výsledkem je, že soubor pdfile obsahuje plně kvalifikovaný název výsledného souboru PDF.

fakturaRng.ExportAsFixedFormat _ Typ: = xlTypePDF, _ Název souboru: = pdfile, _ Kvalita: = xlQualityStandard, _ IncludeDocProperties: = True, _ IgnorePrintAreas: = True, _ OpenAfterPublish: = False 

Nakonec použijeme metodu ExpoortAsFixedFormat třídy Range k vytištění definovaného rozsahu aplikace Excel jako PDF. Typ definujeme jako xlTypePDF. Další možností je xlTypeXPS, který uloží vybraný rozsah jako soubor XPS.

Nastavili jsme název souboru jako pdfile, který obsahuje řetězec plně kvalifikovaného názvu souboru pdf. Zde můžete napsat napevno zakódovaný text nebo jej upravit podle svých potřeb.

Dále nastavíme kvalitu pdfile jako xlQualityStandard. Jako xlQualityMinimum máme další možnost.

Dále nastavíme IncludeDocProperties jako True. To znamená, že výsledný PDF bude mít vlastnosti dokumentu.

Poté nastavíme IgnorePrintAreas jako True. To znamená, že bude ignorovat všechny již nastavené oblasti tisku.

Nakonec jsme nastavili OpenAfterPublish jako False. To znamená, že soubor, který vytvoříte, se neotevře automaticky. Nastavil jsem to na nepravdu, protože pomocí smyčky vytvořím 100 souborů a nechci, aby se otevřely. Pokud chcete soubor otevřít po vytvoření pomocí Excelu, nastavte ho na True.

Využití tisku vybraného rozsahu jako pdf

Jedním ze základních použití je vytištění vybraného rozsahu pouhým kliknutím na jedno tlačítko. Nejvhodnější je však použít jej ve smyčce, kde potřebujete vytvořit více účtenek pro různé klienty. Vytvořte dílčí položku pro vyplňování dat a poté pomocí tohoto kódu vytiskněte vybraný rozsah ve smyčce.

Takže jo, lidi, takto můžete uložit vybraný rozsah jako pdf. Doufám, že to pro vás bylo užitečné. Pokud máte stále pochybnosti nebo dotazy týkající se tisku v aplikaci Excel pomocí VBA, zeptejte se v sekci komentáře níže.

Tisk více výběrů na jeden list pomocí VBA v aplikaci Microsoft Excel | Vyberte více rozsahů a pomocí VBA vytiskněte každý rozsah na jiném listu.

Vytiskněte všechny sešity ve složce pomocí VBA v aplikaci Microsoft Excel | Pomocí tohoto kódu VBA vytiskněte a uložte každý excelový sešit do složky pomocí.

Oblíbené články:

Rozdělit list aplikace Excel na více souborů na základě sloupce pomocí VBA | Tento kód VBA rozdělil list Excelu na jedinečné hodnoty v zadaném sloupci. Stáhněte si pracovní soubor.

Vypnout varovné zprávy pomocí VBA v aplikaci Microsoft Excel 2016 | K vypnutí varovných zpráv, které přerušují běžící kód VBA, používáme třídu Application.

Přidat a uložit nový sešit pomocí jazyka VBA v aplikaci Microsoft Excel 2016 | K přidání a uložení sešitů pomocí jazyka VBA používáme třídu Workbooks. Workbooks.Add přidává nový sešit snadno, ale…