Come stampare in PDF in Excel VBA: con esempi e illustrazioni

  • Condividi Questo
Hugh West

In questo articolo, vi mostrerò come potete stampare qualsiasi documento in PDF utilizzando VBA in Excel. Utilizzeremo l'opzione EsportazioneComeFissoForma metodo di VBA A questo scopo, illustrerò tutti i parametri di questo metodo con esempi e illustrazioni appropriate.

Stampa su PDF in Excel VBA (Vista rapida)

Scarica il quaderno di esercizi

Scaricate questo eserciziario per esercitarvi durante la lettura di questo articolo.

VBA Stampa su PDF.xlsm

Introduzione all'istruzione ExportAsFixedFormat

⧭ Panoramica:

Il EsportazioneComeFissoForma metodo di VBA salva un qualsiasi documento in formato PDF con un determinato nome con VBA Si tratta di un metodo piuttosto utile per chi lavora con molti fogli di lavoro di Excel e li archivia per un uso futuro.

⧭ Sintassi:

La sintassi del VBA Esportazione come formato fisso è il metodo:

 Document.ExportAsFixedFormat Tipo, Nome file, Qualità, IncludeDocProperties, IgnorePrintAreas, Da, A, Apri dopo la pubblicazione 

⧭ Parametri:

Parametro Richiesto / Facoltativo Spiegazione
Tipo Richiesto Indica il tipo di file che si desidera salvare. Utilizzare xlTypePDF per i file PDF o xlTypeXPS per i file XPS.
Nome del file Opzionale Il nome del file che si desidera salvare. Se si desidera salvare il file in un percorso diverso da quello della cartella di lavoro, inserire qui il percorso completo del file.
Qualità Opzionale Indica la qualità del file da salvare. Utilizzare xlQualityStandard per la qualità standard o xlQualityMinimum per la qualità minima.
IncludiProprietàDoc Opzionale Impostarlo come True per includere le proprietà del documento, oppure impostarlo come False per non includere le proprietà del documento.
IgnoraStampaAree Opzionale Impostare Vero per ignorare le aree di stampa o Falso per non ignorare le aree di stampa.
Da Opzionale Il numero di pagina iniziale da cui iniziare a salvare il documento.
A Opzionale Impostarlo come True per includere le proprietà del documento, oppure impostarlo come False per non includere le proprietà del documento.
Aprire dopo la pubblicazione Opzionale Impostarlo come Vero per aprire il documento dopo la pubblicazione o impostarlo come Falso.

Valore di ritorno:

Converte i fogli di lavoro di una cartella di Excel in un documento PDF e lo salva nella cartella specificata con il nome indicato.

5 esempi di stampa in PDF in Excel VBA con l'istruzione ExportAsFixedFormat

Vediamo alcuni esempi di come stampare un documento in formato PDF in Excel. VBA con il Esportazione come formato fisso metodo.

Esempio 1: Stampa su PDF in Excel VBA senza nome o percorso specificato

Qui abbiamo un foglio di lavoro con le registrazioni dei libri di una libreria chiamata Marin Bookstore.

Scriviamo un semplice VBA per convertire il foglio di lavoro in un documento PDF, senza specificare alcun nome o percorso.

⧭ Codice VBA:

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

⧭ Uscita:

Eseguite questo codice e troverete un file PDF con lo stesso nome della cartella di lavoro (nome predefinito quando non è specificato il nome) nella stessa cartella della cartella di lavoro (cartella predefinita quando non è specificato il percorso).

Qui è chiamato come Libro1.pdf come il nome della mia cartella di lavoro era Libro1 .

Leggi tutto: Excel VBA: come impostare l'area di stampa in modo dinamico (7 modi)

Esempio 2: Stampa in PDF in Excel VBA con nome e percorso specificati

Ora convertiremo la stessa cartella di lavoro in un altro file PDF specificando il nome e il percorso.

Salverò il PDF con il nome "Libreria Martin.pdf" nel percorso C:´Users'Public'ExcelWIKI sul mio computer, quindi il VBA codice sarà:

⧭ Codice VBA:

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

⧭ Uscita:

Questo codice salverà il documento PDF nel percorso C:´Users'Public'ExcelWIKI sul mio computer con il nome Libreria Martin.pdf .

Per saperne di più: Come stampare l'area selezionata in Excel (2 esempi)

Letture simili:

  • Come stampare i titoli in Excel (5 modi semplici)
  • Stampa di un foglio di lavoro con commenti in Excel (5 modi semplici)
  • Come stampare le celle selezionate in Excel (2 modi semplici)
  • Centrare l'area di stampa in Excel (4 modi)
  • Come visualizzare l'anteprima di stampa con Excel VBA (3 macro)

Esempio 3: Stampa su PDF in Excel VBA con apertura del file dopo la pubblicazione

Ora stamperemo il documento in PDF in modo che il file venga aperto dopo la pubblicazione. Dobbiamo impostare il parametro Aprire dopo la pubblicazione a Vero .

Quindi il VBA codice sarà,

⧭ Codice VBA:

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

⧭ Uscita:

Questo codice salverà il documento PDF nel percorso C:´Users'Public'ExcelWIKI sul mio computer con il nome Libreria Martin.pdf e aprire il file non appena viene pubblicato.

Contenuti correlati: Come impostare l'anteprima di stampa in Excel (6 opzioni)

Esempio 4: Stampa di più fogli di lavoro su più file PDF in Excel VBA

Finora abbiamo stampato un singolo foglio di lavoro. Questa volta stamperemo più fogli di lavoro su più file PDF.

Qui abbiamo una cartella di lavoro con 5 fogli di lavoro, ognuno dei quali contiene il record di libri di una determinata libreria.

Questa volta convertiremo tutti i fogli di lavoro in file PDF.

Il VBA codice sarà:

⧭ Codice VBA:

 Sub Print_Multiple_Sheets_To_PDF() Sheet_Names = InputBox("Inserire i nomi dei fogli di lavoro da stampare in 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 

⧭ Uscita:

Eseguite il codice. Una casella di input vi chiederà di inserire i nomi dei fogli di lavoro da convertire in PDF. Qui ho inserito Libreria Joseph, Libreria Morgan, Libreria Angela .

Cliccare OK E li salverà come file PDF nella cartella C:´Users'Public'ExcelWIKI .

Per saperne di più: Come stampare più fogli in Excel (7 metodi diversi)

Esempio 5: Sviluppo di una funzione definita dall'utente per la stampa su file PDF in Excel VBA

Infine, vi mostrerò come potete sviluppare una funzione definita dall'utente per stampare qualsiasi foglio di lavoro in PDF con Excel. VBA .

Sviluppiamo una funzione chiamata Stampa su PDF che stamperà il foglio di lavoro attivo in un file PDF.

Il VBA codice sarà:

⧭ Codice VBA:

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

⧭ Uscita:

Inserite questa funzione in una cella qualsiasi del vostro foglio di lavoro.

=Stampa su PDF()

Quindi fare clic su ENTRARE Converte il foglio attivo ( Libreria Martin qui) in un file PDF nella cartella specificata.

Per saperne di più: Excel VBA: stampare un modulo utente per adattarlo a una pagina (2 metodi)

Cose da ricordare

Durante lo sviluppo dei codici, la maggior parte delle volte abbiamo usato il metodo Foglio attivo oggetto di VBA restituisce il foglio di lavoro attivo in quel momento nella cartella di lavoro attiva.

Inoltre, a volte abbiamo utilizzato la proprietà ActiveSheet.Name . restituisce il nome del foglio di lavoro attivo.

Conclusione

Questo è il modo per stampare qualsiasi foglio di lavoro in PDF con VBA Avete domande? Non esitate a chiedercele. E non dimenticate di visitare il nostro sito ExcelWIKI per ulteriori post e aggiornamenti.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.