Cum să imprimați în PDF în Excel VBA : Cu exemple și ilustrații

  • Imparte Asta
Hugh West

În acest articol, vă voi arăta cum puteți imprima orice document în PDF folosind VBA în Excel. Vom folosi ExportAsFixedForma t metoda de VBA Voi discuta toți parametrii acestei metode cu exemple și ilustrații adecvate.

Imprimare în PDF în Excel VBA (Vizualizare rapidă)

Descărcați caietul de practică

Descărcați acest caiet de exerciții pentru a exersa în timp ce citiți acest articol.

VBA Print to PDF.xlsm

Introducere în declarația ExportAsFixedFormat

⧭ Prezentare generală:

The ExportAsFixedForma t metoda de VBA salvează orice document dat în format PDF cu un nume dat cu VBA Aceasta este o metodă destul de utilă pentru cei care lucrează cu o mulțime de foi de calcul Excel și le stochează pentru utilizare ulterioară.

⧭ Sintaxă:

Sintaxa VBA ExportAsFixedFormat Metoda este:

 Document.ExportAsFixedFormat Type, Filename, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish 

⧭ Parametrii:

Parametru Necesar / Opțional Explicație
Tip Necesar Denumește tipul de fișier sub care doriți să salvați. Utilizați xlTypePDF pentru fișiere PDF sau xlTypeXPS pentru fișiere XPS.
Numele fișierului Opțional Numele fișierului pe care doriți să îl salvați. Introduceți aici calea completă a fișierului dacă doriți să salvați fișierul într-o cale diferită de cea a caietului de lucru.
Calitate Opțional Indică calitatea fișierului care urmează să fie salvat. Utilizați xlQualityStandard pentru calitatea standard sau xlQualityMinimum pentru calitatea minimă.
IncludeDocProperties Opțional Setați-o ca True pentru a include proprietățile documentului sau ca False pentru a nu include proprietățile documentului.
IgnorePrintAreas Opțional Setați True pentru a ignora zonele de imprimare sau False pentru a nu ignora zonele de imprimare.
De la Opțional Numărul paginii de pornire de la care documentul va începe să fie salvat.
La Opțional Setați-o ca True pentru a include proprietățile documentului sau ca False pentru a nu include proprietățile documentului.
OpenAfterPublish Opțional Setați-l ca Adevărat pentru a deschide documentul după publicare sau setați-l ca Fals.

Valoarea de returnare:

Aceasta convertește foile de lucru ale unui registru de lucru Excel în document PDF și îl salvează în folderul specificat cu numele specificat.

5 Exemple pentru a imprima în PDF în Excel VBA cu declarația ExportAsFixedFormat

Să explorăm câteva exemple despre cum să imprimăm un document în PDF în Excel VBA cu ExportAsFixedFormat metoda.

Exemplul 1: Imprimare în PDF în Excel VBA fără a specifica un nume sau o cale de acces

Aici avem o foaie de lucru cu înregistrările de carte ale unei librării numite Librăria Marin.

Să scriem un simplu VBA pentru a converti foaia de calcul într-un document PDF, fără a specifica un nume sau o cale.

⧭ Cod VBA:

 Sub Print_To_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF End Sub 

⧭ Ieșire:

Rulați acest cod și veți găsi un fișier PDF cu același nume ca și registrul de lucru (nume implicit atunci când nu este specificat niciun nume) în același dosar cu registrul de lucru (dosar implicit atunci când nu este specificată nicio cale).

Aici este numit ca Book1.pdf deoarece numele cărții mele de lucru era Carte1 .

Citiți mai mult: Excel VBA: Cum setați zona de imprimare în mod dinamic (7 moduri)

Exemplul 2: Imprimare în PDF în Excel VBA cu nume și cale specificate

Acum vom converti același registru de lucru într-un alt fișier PDF, specificând numele și calea de acces.

Voi salva PDF-ul cu numele "Martin Bookstore.pdf" în calea C:\Users\Public\ExcelWIKI pe computerul meu. VBA codul va fi:

⧭ Cod VBA:

 Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\Martin Bookstore.pdf" End Sub 

⧭ Ieșire:

Acest cod va salva documentul PDF în calea C:\Users\Public\ExcelWIKI pe calculatorul meu cu numele Martin Bookstore.pdf .

Citește mai mult: Cum să imprimați zona selectată în Excel (2 exemple)

Lecturi similare:

  • Cum să imprimați titluri în Excel (5 moduri simple)
  • Imprimarea foii de lucru cu comentarii în Excel (5 moduri simple)
  • Cum să imprimați celulele selectate în Excel (2 moduri simple)
  • Centrarea zonei de imprimare în Excel (4 moduri)
  • Cum se afișează Previzualizarea imprimării cu Excel VBA (3 macro-uri)

Exemplul 3: Imprimare în PDF în Excel VBA cu deschiderea fișierului după publicare

Acum vom imprima documentul în format PDF, astfel încât fișierul să fie deschis după ce este publicat. Trebuie să setăm OpenAfterPublish la Adevărat .

Deci, în VBA codul va fi,

⧭ Cod VBA:

 Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\Martin Bookstore.pdf", _ OpenAfterPublish:=True End Sub 

⧭ Ieșire:

Acest cod va salva documentul PDF în calea C:\Users\Public\ExcelWIKI pe calculatorul meu cu numele Martin Bookstore.pdf și deschideți fișierul imediat ce este publicat.

Conținut conex: Cum setați Previzualizarea imprimării în Excel (6 opțiuni)

Exemplul 4: Imprimarea mai multor foi de lucru în mai multe fișiere PDF în Excel VBA

Până acum, am imprimat o singură foaie de lucru. De data aceasta vom imprima mai multe foi de lucru în mai multe fișiere PDF.

Aici avem un registru de lucru cu 5 fișe de lucru, fiecare conținând fișa de carte a unei anumite librării.

De data aceasta, vom converti toate foile de lucru în fișiere PDF.

The VBA codul va fi:

⧭ Cod VBA:

 Sub Print_Multiple_Sheets_To_PDF() Sheet_Names = InputBox("Introduceți numele foilor de lucru care urmează să fie tipărite în PDF: ") Sheet_Names = Split(Sheet_Names, ", ") For i = LBound(Sheet_Names) To UBound(Sheet_Names) Worksheets(Sheet_Names(i)).ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\" + Sheet_Names(i) + ".pdf" Next i EndSub 

⧭ Ieșire:

Rulați codul. O casetă de intrare vă va cere să introduceți numele foilor de lucru care urmează să fie convertite în PDF. Aici am introdus Librăria Joseph, Librăria Morgan, Librăria Angela .

Faceți clic pe OK . și le va salva ca fișiere PDF în folderul C:\Users\Public\ExcelWIKI .

Citește mai mult: Cum să imprimați mai multe foi în Excel (7 metode diferite)

Exemplul 5: Dezvoltarea unei funcții definite de utilizator pentru a imprima în fișierul PDF în Excel VBA

În cele din urmă, vă voi arăta cum puteți dezvolta o funcție definită de utilizator pentru a imprima orice foaie de lucru în PDF cu Excel. VBA .

Să dezvoltăm o funcție numită PrintToPDF care va imprima foaia de lucru activă într-un fișier PDF.

The VBA codul va fi:

⧭ Cod VBA:

 Function PrintToPDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\Martin Bookstore.pdf" End Function 

⧭ Ieșire:

Introduceți această funcție în orice celulă din foaia de calcul.

=PrintToPDF()

Apoi faceți clic pe ENTER Va converti foaia activă ( Librăria Martin aici) într-un fișier PDF în dosarul specificat.

Citește mai mult: Excel VBA: Imprimarea formularului de utilizator pentru a se potrivi pe o pagină (2 metode)

Lucruri de reținut

În timpul dezvoltării codurilor, de cele mai multe ori am folosit ActiveSheet obiect al VBA Aceasta returnează foaia de lucru activă în acel moment în registrul de lucru activ.

De asemenea, uneori am folosit proprietatea ActiveSheet.Name . returnează numele foii de lucru active.

Concluzie

Deci, aceasta este modalitatea de a imprima orice foaie de lucru în PDF cu VBA în Excel. Aveți întrebări? Nu ezitați să ne întrebați. Și nu uitați să vizitați site-ul nostru ExcelWIKI pentru mai multe postări și actualizări.

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.