Hoe sla je een werkblad op als PDF-bestand en verstuur je het als bijlage via Outlook?
In sommige gevallen moet je mogelijk een werkblad verzenden als PDF-bestand via Outlook. Meestal moet je handmatig het werkblad opslaan als PDF-bestand, vervolgens een nieuwe e-mail maken met dit PDF-bestand als bijlage in je Outlook en het uiteindelijk versturen. Het is tijdrovend om dit handmatig stap voor stap te doen. In dit artikel laten we je zien hoe je snel een werkblad kunt opslaan als PDF-bestand en automatisch kunt versturen als bijlage via Outlook in Excel.
Sla een werkblad op als PDF-bestand en verstuur het als bijlage met VBA-code
Sla een werkblad op als PDF-bestand en verstuur het als bijlage met VBA-code
Je kunt de onderstaande VBA-code uitvoeren om automatisch het actieve werkblad op te slaan als een PDF-bestand en het vervolgens te versturen als bijlage via Outlook. Volg de onderstaande stappen.
1. Open het werkblad dat je wilt opslaan als PDF en verzenden, en druk tegelijkertijd op de toetsen Alt + F11 om het Microsoft Visual Basic for Applications-venster te openen.
2. Klik in het Microsoft Visual Basic for Applications-venster op Invoegen > Module. Kopieer en plak vervolgens de onderstaande VBA-code in het Code-venster. Zie screenshot:
VBA-code: Sla een werkblad op als PDF-bestand en verstuur het als bijlage
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. Druk op de F5-toets om de code uit te voeren. Selecteer in het Bladeren-dialoogvenster een map om dit PDF-bestand op te slaan en klik vervolgens op de OK-knop.
Opmerkingen:
Een werkblad of meerdere werkbladen gemakkelijk opslaan als afzonderlijke PDF-bestanden in één keer:
De Werkboek splitsen-functie van Kutools voor Excel kan je helpen om gemakkelijk een werkblad of meerdere werkbladen op te slaan als afzonderlijke PDF-bestanden in één keer, zoals in de onderstaande demo te zien is. Download en probeer het nu! (30-dag gratis proefversie)
Gerelateerde artikelen:
- Hoe sla je een Excel-bestandsnaam op met een tijdstempel?
- Hoe gebruik je de Opslaan als-functie om automatisch een bestaand bestand te overschrijven in Excel?
- Hoe sla je meerdere/alle werkbladen op als aparte CSV- of tekstbestanden in Excel?
- Hoe schakel je de opties Opslaan en Opslaan als uit of sta je deze niet toe in Excel?
- Hoe schakel je het opslaan van een werkboek uit maar sta je alleen Opslaan als toe in Excel?
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!