Vai al contenuto principale
 

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

Autore: Silvia Ultima modifica: 2024-09-19

In alcuni casi, potrebbe essere necessario inviare un foglio di lavoro come file PDF tramite Outlook. Di solito, devi salvare manualmente il foglio di lavoro come file PDF, quindi creare una nuova e-mail con questo file PDF come allegato in Outlook e infine inviarlo. È dispendioso in termini di tempo per ottenerlo manualmente passo dopo passo. In questo articolo, ti 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 tramite e-mail come allegato con codice VBA


Salva un foglio di lavoro come file PDF e invialo tramite e-mail come allegato con codice VBA

È possibile eseguire il codice VBA di seguito per salvare automaticamente il foglio di lavoro attivo come file PDF e quindi inviarlo tramite posta elettronica come allegato tramite Outlook. Si prega di fare quanto segue.

1. Aprire il foglio di lavoro che si salverà come PDF e inviare, quindi premere il tasto altro + F11 tasti contemporaneamente per aprire il file Microsoft Visual Basic, Applications Edition finestra.

2. Nel Microsoft Visual Basic, Applications Edition finestra, fare clic inserire > Moduli. Quindi copia e incolla il codice VBA sottostante nel file Code finestra. Vedi screenshot:

Codice VBA: salva un foglio di lavoro come file PDF e invialo via email 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. premi il F5 chiave per eseguire il codice. Nel Scopri la nostra gamma di prodotti finestra di dialogo, selezionare una cartella per salvare questo file PDF, quindi fare clic su OK pulsante.

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

Note:

1. Ora il foglio di lavoro attivo viene 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 nell'immagine sottostante dopo aver fatto clic su OK pulsante.

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

4. Ora viene creata una nuova email di Outlook e puoi vedere che il file PDF è elencato come allegato nel campo Allegati. Vedi screenshot:

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

5. Componi questa email e poi inviala.
6. Questo codice è disponibile solo quando si utilizza Outlook come programma di posta.

Salva facilmente un foglio di lavoro o più fogli di lavoro come file PDF separati contemporaneamente:

Il Marketplace per le Cartella di lavoro divisa utilità di Kutools for Excel può aiutarti a salvare facilmente un foglio di lavoro o più fogli di lavoro come file PDF separati contemporaneamente come mostrato nella demo di seguito. Scaricalo e provalo subito! (Percorso gratuito di 30 giorni)

salva più fogli di lavoro come file PDF separati di kutools


Articoli correlati:

I migliori strumenti per la produttività in ufficio

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • 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, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!