Wie speichert man ein Arbeitsblatt als PDF-Datei und versendet es als Anhang per Outlook?
Im täglichen Arbeitsablauf stoßen Sie möglicherweise oft auf Situationen, in denen Sie ein bestimmtes Arbeitsblatt mit Kollegen oder Kunden teilen müssen, aber sicherstellen wollen, dass das Dateiformat fixiert und sicher ist. Das Versenden eines Arbeitsblatts als PDF-Datei über Outlook ist eine gängige Anforderung, insbesondere zur Dokumentation von Berichten, zum Senden von Rechnungen oder zum Teilen finalisierter Daten, die nicht leicht verändert werden sollten. Traditionell beinhaltet dies das manuelle Speichern des Arbeitsblatts als PDF, das Öffnen von Outlook, das Verfassen einer E-Mail, das Anhängen der PDF und das Absenden – was mühsam und zeitaufwendig ist, besonders wenn es häufig wiederholt oder bei der Bearbeitung mehrerer Blätter angewendet wird.
Dieser Artikel führt Sie Schritt für Schritt durch den Prozess, wie Sie das Konvertieren eines Arbeitsblatts in eine PDF automatisieren und es direkt aus Excel heraus an eine Outlook-E-Mail anhängen können. Dadurch sparen Sie erheblich Zeit und vermeiden repetitive manuelle Arbeiten. Sie finden eine VBA-Code-Lösung sowie Details zur Bedienung, Vorteile, Anwendungsszenarien und praktische Tipps.
Speichern eines Arbeitsblatts als PDF-Datei und Versand als Anhang mit VBA-Code
Speichern eines Arbeitsblatts als PDF-Datei und Versand als Anhang mit VBA-Code
Um den Prozess des Exportierens eines Excel-Arbeitsblatts als PDF-Datei und des Versendens per Outlook zu beschleunigen, können Sie den folgenden VBA-Code verwenden. Dieser Ansatz ist besonders nützlich, wenn Sie regelmäßig personalisierte Berichte, Rechnungen oder andere Datensnapshots direkt aus Excel versenden müssen, da er die Schritte zum Speichern und Versenden vollständig automatisiert.
Bevor Sie diese Methode anwenden, stellen Sie sicher, dass Microsoft Outlook installiert ist und als Ihr Standard-Mail-Client eingestellt ist. Der Code funktioniert am besten, wenn Makros in Ihrer Excel-Umgebung aktiviert sind.
1. Öffnen Sie das Arbeitsblatt, das Sie speichern und als PDF senden möchten. Drücken Sie gleichzeitig Alt + F11, um den Microsoft Visual Basic for Applications (VBA)-Editor zu starten.
2. Gehen Sie im VBA-Fenster zum Menü und klicken Sie auf Einfügen > Modul. Dies erstellt ein neues Code-Modul. Kopieren Sie dann den folgenden VBA-Code und fügen Sie ihn in das Codefenster des Moduls ein.
VBA-Code: Speichern eines Arbeitsblatts als PDF-Datei und Versand als Anhang
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. Nachdem Sie den Code eingefügt haben, drücken Sie F5 oder klicken Sie im VBA-Editor auf Ausführen, um das Makro auszuführen. Ein Ordnerauswahldialog erscheint. Wählen Sie den Zielordner aus, in dem die PDF-Datei gespeichert werden soll, und klicken Sie auf OK, um fortzufahren.
Hinweise und praktische Tipps:
4. Sobald der Prozess abgeschlossen ist, wird ein neues Outlook-E-Mail-Fenster generiert, mit der PDF-Datei als Anhang. Die Betreffzeile wird mit dem Namen des Arbeitsblatts vorbelegt, das auf ".pdf" endet; Sie können den E-Mail-Inhalt bearbeiten, Empfänger hinzufügen und bei Bedarf absenden. Dies reduziert Fehler und erhöht die Effizienz gegenüber der manuellen Anlage von Anhängen.
Dieser auf VBA basierende Ansatz ist am effizientesten, wenn Sie regelmäßig fertiggestellte Arbeitsblätter als PDF-Anhänge verteilen müssen, und minimiert repetitive manuelle Schritte. Zu den Einschränkungen gehören die Abhängigkeit von Outlook, die Unfähigkeit, mehrere Blätter gleichzeitig zu verarbeiten, und die Notwendigkeit, Makros zu aktivieren. Für komplexere Workflows, wie das Versenden mehrerer Arbeitsblätter auf einmal oder zusätzliche Automatisierung, sollten Sie Excel-Add-ins oder integrierte Funktionen in Betracht ziehen.
Alternative Lösung: Falls VBA-Makros in Ihrer Umgebung nicht geeignet sind, z.B. wenn Makros eingeschränkt sind, können Sie manuell die integrierte Export- oder Speichern unter-Funktion von Excel verwenden, um Ihr Arbeitsblatt als PDF zu speichern, und es dann in Outlook anhängen und versenden. Diese Methode erfordert zwar mehr Schritte, ist jedoch universell verfügbar, ohne besondere Berechtigungen oder Skriptkenntnisse.
Speichern eines Arbeitsblatts oder mehrerer Arbeitsblätter auf einmal als separate PDF-Dateien:
Die Split Workbook-Funktion von Kutools für Excel kann Ihnen helfen, ein Arbeitsblatt oder mehrere Arbeitsblätter auf einmal als separate PDF-Dateien zu speichern, wie in der folgenden Demo gezeigt. Laden Sie es herunter und probieren Sie es jetzt aus! (30-tägige kostenlose Testversion)
Verwandte Artikel:
- Wie speichert man einen Excel-Dateinamen mit Zeitstempel?
- Wie verwendet man die Funktion „Speichern unter“, um vorhandene Dateien in Excel automatisch zu überschreiben?
- Wie speichert man mehrere/alle Arbeitsblätter als separate CSV- oder Textdateien in Excel?
- Wie deaktiviert man die Optionen „Speichern“ und „Speichern unter“ in Excel?
- Wie deaktiviert man das Speichern einer Arbeitsmappe, aber erlaubt nur „Speichern unter“ in Excel?
Die besten Office-Produktivitätstools
Steigern Sie Ihre Excel-Kompetenz mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen, um Ihre Produktivität zu steigern und Zeit zu sparen.Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...
Office Tab bringt die Reiter-Oberfläche in Office und macht Ihre Arbeit so viel einfacher
- Aktivieren Sie die Bearbeitung und das Lesen in Reitern in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Reitern desselben Fensters, anstatt in neuen Fenstern.
- Steigert Ihre Produktivität um50 % und reduziert täglich Hunderte von Mausklicks!