#Excel – Come salvare rapidamente in PDF il foglio attivo [VBA]

In Microsoft Excel mi capita spesso di voler salvare il foglio su cui sto lavorando in formato PDF.

Da Excel 2010 in avanti esiste una funzione nativa per effettuare questa operazione: è sufficiente cliccare su FILE -> Esporta -> Crea documento PDF/XPS

Salva in PDF1

… ma a noi non è sufficiente, vogliamo rendere la cosa ancora più immediata!

Il trucco che utilizzo di solito è il seguente:

1 – Salvo il file Excel in modo che possa contenere macro

Questo è facile.

Nella finestra di dialogo “Salva con nome”, oltre ad inserire il nome a nostra scelta, dall’elenco a discesa “Salva come:” occorrerà selezionare la voce “Cartella di lavoro con attivazione macro di Excel”

Salva in PDF2

2 – Creo un nuovo modulo VBA

Occorre aprire l’editor di VBA incluso nell’installazione standard di Excel premendo contemporaneamente la combinazione di tasti Alt+F11.

Nella maschera che ci si propone selezioniamo il progetto VBA relativo alla cartella in uso e usando il tasto destro del mouse inseriamo un nuovo modulo standard:

Salva in PDF3

Nel nuovo modulo così creato inseriamo il seguente codice:


Sub SalvaInPDF()

Dim ws As Worksheet
Dim strIndirizzo As String
Dim myFile As Variant
Dim strFile As String
On Error GoTo errHandler

Set ws = ActiveSheet

'apre la finestra di dialogo per il salvataggio dei file
'la cartella di default è la stessa della cartella di excel
strFile = Replace(Replace(ws.Name, " ", ""), ".", "_") _
        & "_" _
        & Format(Now(), "yyyy-mm-dd\_hh-mm") _
        & ".pdf"
strFile = ThisWorkbook.Path & "\" & strFile

myFile = Application.GetSaveAsFilename _
        (InitialFileName:=strFile, _
          FileFilter:="PDF Files (*.pdf), *.pdf", _
          Title:="Seleziona la cartella e inserisci il nome del file da salvare")

If myFile <> False Then
        ws.ExportAsFixedFormat _
          Type:=xlTypePDF, _
          Filename:=myFile, _
          Quality:=xlQualityStandard, _
          IncludeDocProperties:=True, _
          IgnorePrintAreas:=False, _
          OpenAfterPublish:=False

        MsgBox "Il file PDF è stato salvato."
End If

exitHandler:
        Exit Sub
errHandler:
        MsgBox "Non ho potuto salvare il file PDF"
Resume exitHandler

End Sub

 

Il codice apre la finestra di dialogo per il salvataggio, impostata in automatico sulla stessa cartella del nostro file Excel, e ci permette di dare un nome al file PDF (di default presenterà il nome del foglio di lavoro, la data e l’ora di salvataggio).

Possiamo a questo punto chiudere l’editor di VBA tornando al nostro file Excel

3 – Creo un pulsante per il salvataggio

Sul nostro foglio di Excel a questo punto inseriamo un pulsante che invierà il comando di salvataggio.

Andiamo sulla scheda SVILUPPO della barra multifunzione e, nel gruppo “Controlli” inseriamo il pulsante

Salva in PDF4

Trasciniamo il mouse su un qualsiasi punto del foglio di lavoro e nella finestra di dialogo che ci si apre selezioniamo la macro che abbiamo appena creato e premiamo il pulsante “OK”

Salva in PDF5

Possiamo a questo punto, se vogliamo, personalizzare il testo che appare sul pulsante premendovi sopra il tasto destro del mouse e cliccando sulla voce “Modifica testo”, indicando ad esempio “Salva in PDF”.

Ed ecco il nostro pulsante pienamente funzionante!!

 

My Agile Privacy
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte privacy
     Scarica il nostro ebook gratuito     

Unisciti a oltre 35.000 professionisti
che hanno già scelto di semplificare il proprio lavoro
e aumentare la produttività con la nostra newsletter!

Scarica l’ebook con i
migliori trucchi e suggerimenti per Excel
selezionati per te da Excel Academy

Download