Shranite Excel Range kot PDF z uporabo VBA

Kazalo:

Anonim

Če želite shraniti izbrano območje v Excelu (recimo potrdilo) kot PDF v Excelu z uporabo VBA, uporabite spodnjo sintakso.

Splošna koda

Sub SaveRangeAsPDF () Domet.ExportAsFixedFormat Vrsta: = xlTypePDF, Ime datoteke:= _ "C: \ Users \ ime_datoteke", Kakovost: = xlQualityStandard, _ IncludeDocProperties: = True, IgnorePrintAreas: = False, OpenAfterPublish: = True End Sub 

Zgornja koda je splošna koda za shranjevanje določenega obsega kot dokumenta PDF. Ko se vaš makro zapisa med izvozom programa Excel v PDF prikaže podobna koda.

Obseg:Lahko je fiksno območje, dinamični razpon ali izbor. Morate ga opredeliti.

Ime datoteke: To je polno ime pdf. Opredelite ga kot niz.

Preostale spremenljivke lahko pustite takšne, kot so. Razložil sem jih po primeru.

Primer: natisnite Excel potrdilo kot PDF z uporabo VBA

Recimo, da morate redno tiskati in pošiljati potrdila v Excelu. V tem primeru ga želite avtomatizirati. Izvoza excela v pdf ne bi želeli znova in znova. Če lahko za to uporabite samo gumb, bi bilo v pomoč, kajne?

Tukaj sem oblikoval to obliko računa. Želim ga natisniti/shraniti/izvoziti kot pdf z gumbom "Ustvari PDF".

To potrdilo zajema obseg "A2: L21". Področje tiskanja sem že nastavil.

Če želite shraniti na tem Excelovem območju kot PDF, bomo uporabili zgoraj omenjeno generično kodo VBA za izvoz Excelovega lista v pdf. Kodo bomo prilagodili glede na naše zahteve.

Sub PrintSelectionToPDF () Dim invoiceRng As Range Dim pdfile As String "Nastavitveno območje za tiskanje Nastavi invoiceRng = Razpon (" A1: L21 ")" ime datoteke nastavitve s časovnim žigom. pdfile = "račun" & "_" & Oblika (Zdaj (), "yyyymmdd_hhmmss") & ".pdf" 'nastavitev polnega kvalificiranega imena. Nastali pdf bo shranjen tam, kjer obstaja glavna datoteka. pdfile = ThisWorkbook.Path & strfile invoiceRng.ExportAsFixedFormat Vrsta: = xlTypePDF, _ Ime datoteke: = pdfile, _ Kakovost: = xlQualityStandard, _ IncludeDocProperties: = True, _ IgnorePrintAreas = 

Uporaba kode:

Kopirajte zgornjo kodo v datoteko računa, tako da odprete urejevalnik VBA (uporabite Alt+F11). Prilagodite obseg in pot do datoteke (če želite) v kodi, ki jo želite natisniti. Spodaj lahko prenesete delovno datoteko.

Shranite Excel Range kot PDF z uporabo VBA

Pojasnilo:

Zatemni računRng As Range Dim pdfile As String 

Koda je preprosta. Najprej smo ustvarili dve spremenljivki. "InvoiceRng as Range" za obseg/list, ki ga želimo shraniti kot pdf. strFile za polno ime datoteke nastale datoteke PDF.

Nastavi računRng = Obseg ("A1: L21") 

Ker je obseg tiskanja določen, smo obseg računov nastavili kot Obseg ("A1: L21").

pdfile = "račun" & "_" & Oblika (Zdaj (), "yyyymmdd_hhmmss") & ".pdf" pdfile = ThisWorkbook.Path & strfile 

V zgornjih dveh vrsticah datoteko najprej poimenujemo s časovnim žigom in nato dodamo na pot glavne datoteke. Posledično pdfile vsebuje polno ime nastale datoteke PDF.

invoiceRng.ExportAsFixedFormat _ Vrsta: = xlTypePDF, _ Ime datoteke: = pdfile, _ Kakovost: = xlQualityStandard, _ IncludeDocProperties: = True, _ IgnorePrintAreas: = True, _ OpenAfterPublish: = False 

Nazadnje uporabljamo metodo ExpoortAsFixedFormat razreda Range za tiskanje definiranega obsega Excel kot PDF. Tip definiramo kot xlTypePDF. Druga izbira je xlTypeXPS, ki bo izbran obseg shranil kot datoteko XPS.

Ime datoteke smo nastavili kot pdfile, ki vsebuje niz polnopravnega imena datoteke pdf. Tukaj lahko napišete trdo kodirano besedilo ali ga prilagodite svojim potrebam.

Nato nastavimo kakovost pd datoteke kot xlQualityStandard. Imamo drugo izbiro kot xlQualityMinimum.

Nato nastavimo IncludeDocProperties kot True. To pomeni, da bo nastali PDF imel lastnosti dokumenta.

Nato smo IgnorePrintAreas nastavili kot True. To pomeni, da bo prezrlo vse nastavljeno območje tiskanja.

Končno smo OpenAfterPublish nastavili kot False. To pomeni, da se datoteka, ki jo ustvarite, ne odpre samodejno. Nastavil sem napačno, ker z zanko ustvarim 100 datotek in nočem, da se odprejo. Če želite datoteko odpreti po ustvarjanju z Excelom, jo ​​nastavite na True.

Uporaba tiskanja izbranega obsega kot pdf

Ena od osnovnih načinov je tiskanje izbranega obsega s klikom na en gumb. Toda najboljša uporaba je, da ga uporabite v zanki, kjer morate ustvariti več računov za različne odjemalce. Ustvarite podrejeno za polnjenje podatkov in nato s to kodo natisnite izbrano območje v zanki.

Torej, fantje, na ta način lahko shranite izbrani obseg kot pdf. Upam, da vam je bilo koristno. Če imate še vedno dvome ali vprašanja glede tiskanja v excelu z uporabo VBA, vprašajte v spodnjem razdelku za komentarje.

Natisnite več izbir na en list z uporabo VBA v Microsoft Excelu | Izberite več obsegov in natisnite vsak obseg na drugem listu z uporabo VBA.

Natisnite vse delovne zvezke v mapi z uporabo VBA v programu Microsoft Excel | S to kodo VBA natisnite in shranite vsak Excelov delovni zvezek v mapo z.

Priljubljeni članki:

Razdelite list Excel v več datotek na podlagi stolpca z uporabo VBA | Ta koda VBA za razdelitev kode excel na edinstvene vrednosti v določenem stolpcu. Prenesite delovno datoteko.

Izklopite opozorilna sporočila z uporabo VBA v programu Microsoft Excel 2016 | Za izklop opozorilnih sporočil, ki prekinejo delovanje kode VBA, uporabljamo razred Application.

Dodajte in shranite nov delovni zvezek z uporabo VBA v programu Microsoft Excel 2016 | Za dodajanje in shranjevanje delovnih zvezkov z uporabo VBA uporabljamo razred Delovni zvezki. Delovni zvezki.Dodajanje zlahka doda nov delovni zvezek …