Come salvare un foglio di lavoro come file PDF e inviarlo come allegato tramite Outlook?
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.
Note:
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)
Articoli correlati:
- Come salvare un file Excel con timestamp?
- Come utilizzare la funzione Salva con nome per sovrascrivere automaticamente un file esistente in Excel?
- Come salvare, esportare più/tutti i fogli in file CSV o di testo separati in Excel?
- Come disabilitare o non consentire le opzioni Salva e Salva con nome in Excel?
- Come disabilitare il salvataggio della cartella di lavoro ma consentire solo Salva con nome in Excel?
I migliori strumenti per la produttività in Office
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!