In questo articolo ti mostrerò come convertire file Excel in PDF utilizzando il linguaggio VBA.
In particolare imparerai a salvare i vari elementi di un file di Excel in un documento PDF utilizzando il metodo ExportAsFixedFormat.
Potrai applicare questo metodo:
- all'intera cartella di lavoro,
- ai singoli fogli di lavoro,
- ai grafici,
- a uno specifico intervallo di celle.
Convertire file Excel in PDF: il metodo ExportAsFixedFormat

Apriamo l'Editor VB, utilizzando la combinazione di tasti ALT + F11 per maggiore rapidità e inseriamo un modulo di codice standard.
Dopo aver assegnato il nome alla macro andremo a digitare il codice seguente per salvare l’intera cartella di lavoro in formato PDF.

Il parametro Type consente di scegliere il tipo di file da salvare: xlTyperPDF.

Inoltre, è possibile specificare il percorso in cui salvare il file. Attraverso il parametro FileName verrà assegnato il nome e il percorso del file.

Una volta eseguita la macro il documento verrà salvato nel percorso specificato.
Il file PDF conterrà tutti i fogli presenti nella cartella di lavoro.
Potrai utilizzare il seguente codice ogni volta che desideri salvare l’intera cartella di lavoro.
Se non viene indicato il percorso ed il nome del file, Excel salverà il documento all'interno del percorso predefinito.

La proprietà FileName è facoltativa. Tuttavia, andrebbe specificata se vogliamo sapere dove è stato salvato il file e come si chiama.
Qualora la proprietà FileName NON fosse specificata, il PDF verrà salvato nella posizione della cartella predefinita utilizzando il nome della cartella di lavoro di Excel con l'estensione .pdf. Il suffisso viene aggiunto automaticamente anche se non indicato.
Se invece viene indicato il nome del file, ma NON il percorso, il documento verrà salvato nella posizione della cartella predefinita con il nome specificato.
Infine, se il file PDF esiste già nella posizione di salvataggio specificata, verrà sovrascritto.
La funzione Environ per specificare il percorso dell’utente
Il percorso di salvataggio predefinito di Excel, se non modificato, è il seguente:

Dove al posto del Nome utente potrai leggere il tuo nome.

Tuttavia per specificare il percorso dell’utente corrente è possibile utilizzare la funzione Environ.
Per ottenere questo percorso, digita il seguente codice all'interno della finestra Immediata:

Successivamente premere il tasto INVIO. Il risultato sarà il seguente:

A questo punto potrai definire il percorso in modo dinamico in quanto la funzione Environ restituirà sempre il percorso dell’utente corrente.
La macro precedente potrà essere modifica nel modo seguente:

Il file verrà salvato sul Desktop con il nome Prova.
Convertire in PDF il foglio di lavoro attivo
Per convertire solo il foglio attivo in formato PDF utilizza la seguente istruzione:

Il foglio attivo verrà salvato sul Desktop con il nome Prova.
Convertire un foglio grafico in PDF
Per convertire solo il foglio grafico in PDF utilizza la seguente istruzione:

Il file contenente il foglio grafico verrà salvato sul Desktop con il nome Prova.
Come convertire un intervallo celle in PDF
Qualora volessi convertire solo un intervallo di celle in PDF, ecco un esempio di codice:

Il file contenente i dati dell’intervallo di celle A1:A10 verrà salvato sul Desktop con il nome Intervallo.
In alternativa, per convertire singole parti di una cartella di lavoro in PDF potrai utilizzare le istruzioni seguenti:

Spero che questo articolo ti sia utile.
Buon lavoro!
Vuoi saperne di più sul linguaggio VBA Excel?
Allora potrebbero interessarti i seguenti articoli:
Vuoi imparare a utilizzare il linguaggio Excel VBA?
Basta con i lavori noiosi e ripetitivi! Grazie al VBA puoi far lavorare Excel al tuo posto!
Ho registrato per te un corso interamente dedicato alle Macro e al VBA.
Attraverso degli esempi pratici, ti introdurrò, al mondo delle Macro di Excel illustrandoti tutto il potenziale per automatizzare le tue attività di lavoro quotidiane.
Cosa aspetti?
Sfrutta tutto il potenziale di Excel con il corso Macro e VBA!