Come stampare su pdf utilizzando vba (con esempio)
È possibile utilizzare la seguente sintassi in VBA per stampare il foglio Excel attualmente attivo in PDF:
SubPrintToPDF ()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=" my_data.pdf ", _
Quality:=xlQualityStandard, _
IncludeDocProperties:= False ,_
IgnorePrintAreas:= False ,_
OpenAfterPublish:= True
End Sub
Questa particolare macro stamperà il foglio Excel attualmente attivo in un PDF chiamato my_data.pdf e verrà salvato nella cartella corrente.
Nota n. 1 : puoi anche includere un percorso completo del file nell’argomento Nome file per salvare il PDF in una cartella specifica.
Nota n. 2 : la riga OpenAfterPublish:= True indica a VBA di aprire il PDF non appena viene esportato. Puoi omettere questo argomento se non desideri che il PDF venga aperto dopo l’esportazione.
Nota n. 3 : l’unico argomento richiesto nel metodo ExportAsFixedFormat è Type , che deve essere impostato su xlTypePDF per stampare il foglio in formato PDF.
L’esempio seguente mostra come utilizzare questa macro nella pratica.
Esempio: esportare un foglio Excel in PDF utilizzando VBA
Supponiamo di avere il seguente foglio Excel contenente informazioni su vari giocatori di basket:
Ora supponiamo di voler esportare questo foglio in un PDF chiamato my_data.pdf .
Per fare ciò possiamo creare la seguente macro:
SubPrintToPDF ()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=" my_data.pdf ", _
Quality:=xlQualityStandard, _
IncludeDocProperties:= False ,_
IgnorePrintAreas:= False ,_
OpenAfterPublish:= True
End Sub
Quando eseguiamo questa macro, il foglio Excel viene esportato in un PDF e quindi il PDF viene aperto automaticamente:
Tieni presente che l’esatta formattazione della cella con bordi e colore di riempimento è inclusa nel PDF.
Nota : qui è possibile trovare la documentazione completa del metodo ExportAsFixedFormat in VBA.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come creare cartelle
VBA: come eliminare cartelle
VBA: come eliminare i file