KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come si fa a salvare un foglio di lavoro come file PDF e inviarlo come allegato tramite Outlook?

AutoreSiluvia Data di modifica

Nel lavoro quotidiano, capita spesso di dover condividere un foglio specifico con colleghi o clienti, assicurandosi al contempo che il file sia protetto e non modificabile. Inviare un foglio come PDF tramite Outlook è un’esigenza comune, soprattutto per documentare report, inviare fatture o condividere dati definitivi che non devono essere facilmente alterati. Tradizionalmente, però, questo richiede di salvare manualmente il foglio in formato PDF, aprire Outlook, comporre un nuovo messaggio, allegare il file e inviarlo — un processo noioso e dispendioso in termini di tempo, specialmente se ripetuto frequentemente o quando si gestiscono più fogli contemporaneamente.

Questo articolo ti accompagna passo dopo passo nell’automatizzare la conversione di un foglio di lavoro in PDF e nel suo immediato invio come allegato a un messaggio di Outlook direttamente da Excel, permettendoti di risparmiare tempo prezioso ed eliminare attività manuali ripetitive. Scoprirai una soluzione basata su codice VBA, completa di indicazioni sull’utilizzo, vantaggi, scenari di applicazione e suggerimenti pratici.

Salva un foglio di lavoro come File PDF e invialo come allegato con codice VBA


Salva un foglio di lavoro come File PDF e invialo come allegato con codice VBA

Per velocizzare l’esportazione di un foglio Excel in PDF e il successivo invio tramite Outlook, puoi utilizzare il seguente codice VBA. Questo approccio è ideale se devi inviare regolarmente report personalizzati, fatture o altre istantanee dei tuoi dati direttamente da Excel, poiché automatizza completamente le fasi di salvataggio e invio.

Prima di applicare questo metodo, assicurati che Microsoft Outlook sia installato e configurato come client di posta predefinito. Il codice funziona al meglio con le macro abilitate nel tuo ambiente Excel.

1. Apri il foglio di lavoro che desideri salvare e inviare come PDF. Premi contemporaneamente Alt + F11 per avviare l’editor Microsoft Visual Basic for Applications (VBA).

2. Nella finestra VBA, vai al menu e fai clic su Inserisci > Modulo. Verrà creato un nuovo modulo di codice. Copia quindi e incolla il seguente codice VBA nella finestra Codice del modulo.

Codice VBA: salva un foglio di lavoro come File PDF e invialo come allegato

Sub Saveaspdfandsend()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder As String
Dim xYesorNo As Integer
Dim xOutlookObj As Object
Dim xEmailObj As Object
Dim xUsedRng As Range

Set xSht = ActiveSheet
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)

If xFileDlg.Show = True Then
   xFolder = xFileDlg.SelectedItems(1)
Else
   MsgBox "You must specify a folder to save the PDF into." & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Must Specify Destination Folder"
   Exit Sub
End If
xFolder = xFolder + "\" + xSht.Name + ".pdf"

'Check if file already exist
If Len(Dir(xFolder)) > 0 Then
    xYesorNo = MsgBox(xFolder & " already exists." & vbCrLf & vbCrLf & "Do you want to overwrite it?", _
                      vbYesNo + vbQuestion, "File Exists")
    On Error Resume Next
    If xYesorNo = vbYes Then
        Kill xFolder
    Else
        MsgBox "if you don't overwrite the existing PDF, I can't continue." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Exiting Macro"
        Exit Sub
    End If
    If Err.Number <> 0 Then
        MsgBox "Unable to delete existing file.  Please make sure the file is not open or write protected." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Unable to Delete File"
        Exit Sub
    End If
End If

Set xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then
    'Save as PDF file 
    xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, Quality:=xlQualityStandard
    
    'Create Outlook email 
    Set xOutlookObj = CreateObject("Outlook.Application")
    Set xEmailObj = xOutlookObj.CreateItem(0)
    With xEmailObj
        .Display
        .To = ""
        .CC = ""
        .Subject = xSht.Name + ".pdf"
        .Attachments.Add xFolder
        If DisplayEmail = False Then
            '.Send
        End If
    End With
Else
  MsgBox "The active worksheet cannot be blank"
  Exit Sub
End If
End Sub

3. Dopo aver incollato il codice, premi F5 oppure fai clic su Esegui nell’editor VBA per eseguire la macro. Apparirà una finestra di dialogo per la selezione della cartella: scegli quella di destinazione in cui salvare il file PDF, quindi fai clic su OK per continuare.

esegui codice VBA per selezionare una cartella in cui salvare questo file PDF

Note e suggerimenti pratici:

1. La macro crea un File PDF con lo stesso nome del foglio di lavoro, memorizzato nella cartella selezionata.
2. Se provi a eseguire il codice quando il foglio attivo è vuoto, vedrai una finestra di avviso come nell’immagine seguente. Ciò impedisce di salvare e inviare accidentalmente un PDF vuoto. Per evitarlo, assicurati che il foglio contenga dati prima di eseguire la macro.

Se il foglio di lavoro attivo è vuoto, viene visualizzata una finestra di avviso

4. Al termine del processo, si aprirà automaticamente una nuova finestra di posta di Outlook con il file PDF allegato. L’oggetto del messaggio sarà già compilato con il nome del foglio di lavoro seguito da «.pdf»; potrai personalizzare il testo dell’email, aggiungere i destinatari e inviare il messaggio in base alle tue esigenze. Questo approccio riduce gli errori e migliora l’efficienza rispetto all’allegazione manuale.

viene creata una nuova email di Outlook con il file PDF come allegato

Nota: la macro funziona solo se Microsoft Outlook è installato e impostato come client di posta predefinito. Se utilizzi un altro programma di posta elettronica, questa soluzione potrebbe non essere applicabile.

Questo approccio basato su VBA si rivela particolarmente efficiente quando devi distribuire regolarmente fogli finalizzati come allegati PDF, riducendo al minimo le operazioni manuali ripetitive. I suoi limiti includono la dipendenza da Outlook, l’impossibilità di elaborare più fogli contemporaneamente e la necessità di abilitare le macro. Per flussi di lavoro più complessi — come l’invio simultaneo di più fogli o un’ulteriore automazione — valuta l’uso di componenti aggiuntivi per Excel o delle funzionalità integrate.

Soluzione alternativa: se le macro VBA non sono adatte al tuo ambiente — ad esempio perché sono bloccate — puoi usare manualmente la funzione integrata di Excel Esporta o Salva con nome per salvare il foglio come PDF, quindi allegarlo e inviarlo tramite Outlook. Questo metodo, pur richiedendo più passaggi, è universalmente disponibile senza permessi speciali né conoscenze di scripting.


Salva facilmente un foglio di lavoro o più fogli di lavoro come singoli File PDF contemporaneamente:

L’utility Dividi documento di Kutools per Excel ti permette di salvare facilmente uno o più fogli di lavoro come singoli file PDF, tutto in un colpo solo, come mostrato nella demo seguente. Scaricala e provala subito! (Prova gratuita di 30 giorni))

salva più fogli di lavoro come file PDF separati con Kutools


Articoli correlati:

Migliori Strumenti per la Produttività in Office

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...


Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
  • Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!

Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.

Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.

ExcelWordOutlookTabsPowerPoint
  • Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
  • Funziona meglio insieme— produttività ottimizzata tra le app di Office
  • Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
  • Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi