Sommario
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.xlsmIntroduzione 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.