Skip to main content

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

Author: Siluvia Last Modified: 2025-05-29

In alcuni casi, potrebbe essere necessario inviare un foglio di lavoro come file PDF tramite Outlook. Di solito, è necessario salvare manualmente il foglio di lavoro come file PDF, quindi creare una nuova email con questo file PDF come allegato in Outlook e infine inviarla. È dispendioso in termini di tempo farlo manualmente passo dopo passo. In questo articolo, vi mostreremo come salvare rapidamente un foglio di lavoro come file PDF e inviarlo automaticamente come allegato tramite Outlook in Excel.

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


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

È possibile eseguire il seguente codice VBA per salvare automaticamente il foglio di lavoro attivo come file PDF e quindi inviarlo come allegato tramite Outlook. Si prega di seguire le istruzioni riportate di seguito.

1. Aprire il foglio di lavoro che si desidera salvare come PDF e inviare, quindi premere contemporaneamente i tasti Alt + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Nella finestra Microsoft Visual Basic for Applications, fare clic su Inserisci > Modulo. Quindi copiare e incollare il seguente codice VBA nella finestra del Codice. Vedere la schermata:

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. Premere il tasto F5 per eseguire il codice. Nella finestra di dialogo Sfoglia, selezionare una cartella in cui salvare questo file PDF, quindi fare clic sul pulsante OK.

run vba code to select a folder to save this PDF file

Note:

1. Ora il foglio di lavoro attivo è stato salvato come file PDF. E il file PDF è denominato con il nome del foglio di lavoro.
2. Se il foglio di lavoro attivo è vuoto, verrà visualizzata una finestra di dialogo come mostrato nello screenshot sottostante dopo aver fatto clic sul pulsante OK.

If the active worksheet is blank,a warning prompt box is popped out

4. Ora viene creata una nuova email di Outlook e si può vedere che il file PDF è elencato come allegato nel campo Allegati. Vedere la schermata:

a new Outlook email is created with the PDF file as an attachment

5. Comporre questa email e quindi inviarla.
6. Questo codice è disponibile solo quando si utilizza Outlook come programma di posta.

Salvare facilmente un foglio di lavoro o più fogli di lavoro come file PDF separati in una volta sola:

La funzione Dividi Cartella di Lavoro di Kutools per Excel può aiutarti a salvare facilmente un foglio di lavoro o più fogli di lavoro come file PDF separati in una volta sola, come mostrato nella demo qui sotto. Scarica e prova subito! (30-giorni di prova gratuita)

save multiple worksheets as separate PDF files by kutools


Articoli correlati:

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l'analisi dei dati grazie a: Esecuzione Intelligente | Genera Codice | Crea Formule Personalizzate | Analizza Dati e Genera Grafici | Richiama Funzioni avanzate di Kutools
Funzionalità popolari: Trova, evidenzia o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda...
Super RICERCA.VERT: Ricerca VERT con criteri multipli | Ricerca VERT con valori multipli | Ricerca su più fogli | Corrispondenza approssimativa...
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa multi-selezione...
Gestione Colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Attiva/disattiva la visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro e Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email tramite elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...) ...
Top15 set di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule pratiche (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci Immagine da percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti di unione e divisione (Unione avanzata righe, Dividi celle, ...) | ... e molto altro

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione 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 della stessa finestra, invece che in nuove finestre.
  • Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!