Hoe een werkblad als pdf-bestand opslaan en als bijlage via Outlook e-mailen?
In sommige gevallen moet u mogelijk een werkblad als pdf-bestand via Outlook verzenden. Meestal moet u het werkblad handmatig opslaan als een PDF-bestand, vervolgens een nieuwe e-mail met dit PDF-bestand als bijlage in uw Outlook maken en het ten slotte verzenden. Het is tijdrovend om dit stap voor stap handmatig te realiseren. In dit artikel laten we u zien hoe u snel een werkblad als pdf-bestand opslaat en automatisch als bijlage via Outlook in Excel verstuurt.
Sla een werkblad op als pdf-bestand en e-mail het als bijlage met VBA-code
Sla een werkblad op als pdf-bestand en e-mail het als bijlage met VBA-code
U kunt de onderstaande VBA-code uitvoeren om het actieve werkblad automatisch op te slaan als een PDF-bestand en het vervolgens als bijlage via Outlook e-mailen. Ga als volgt te werk.
1. Open het werkblad dat u als pdf wilt opslaan en verzend, en druk vervolgens op anders + F11 toetsen tegelijkertijd om het Microsoft Visual Basic voor toepassingen venster.
2. In de Microsoft Visual Basic voor toepassingen venster klikt 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 e-mail 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 de F5 sleutel om de code uit te voeren. In de Blader dialoogvenster, selecteer een map om dit PDF-bestand op te slaan en klik vervolgens op het OK knop.
Opmerkingen:
Bewaar eenvoudig een werkblad of meerdere werkbladen als afzonderlijke PDF-bestanden tegelijk:
De Werkmap splitsen nut van Kutools for Excel kan u helpen gemakkelijk een werkblad of meerdere werkbladen als afzonderlijke PDF-bestanden tegelijk op te slaan, zoals de onderstaande demo laat zien. Download en probeer het nu! (30 dagen gratis proefrit)
Gerelateerde artikelen:
- Hoe een Excel-bestandsnaam met tijdstempel opslaan?
- Hoe gebruik je de functie Opslaan als om automatisch een bestaand bestand in Excel te overschrijven?
- Hoe kan ik meerdere / alle bladen opslaan, exporteren naar aparte csv- of tekstbestanden in Excel?
- Hoe de opties Opslaan en opslaan als in Excel uit te schakelen of niet toe te staan?
- Hoe werkmap opslaan uit te schakelen, maar alleen opslaan zoals in Excel?
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar effici毛ntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!