Hilfe bei VBA-Skript für Outlook
Guten Morgen,
Kann mir vielleicht irgendjemand weiterhelfen?
ich würde gerne in Outlook 2021 ein Makro in Visual Basic als Skript auf einen Button legen, welches eine ausgewählte Email per Knopfdruck in eine pdf Datei umwandelt und hierbei den Dateinamen aus Absenderadresse, Datum und Zeit speichert. Ich möchte dies ausdrücklich nicht über das Druck-Menü als Pdf Ausdruck umsetzen, dies ist bei der Menge an Emails für uns zu langsam. Ich selbst habe leider keine Ahnung von Visual Basic. chatGPT hat mir das untenstehende Skript vorgeschlagen, leider funktioniert es nicht. Kann mir jemand helfen? Als Ordner und Pfad habe ich ein Verzeichnis auf meinem Server eingesetzt, dort scheint aber der Fehler nicht zu stecken. Kann mir jemand weiterhelfen?
Dim objMail As Outlook.MailItem
Dim objFolder As Outlook.Folder
Dim objNamespace As Outlook.Namespace
Dim objFileSystem As Object
Dim objFile As Object
Dim strFolderPath As String
Dim strFileName As String
' Setze eine Referenz auf das Outlook-Objektmodell
Sub ExportierePDF()
' Setze den Ordnerpfad und den Dateinamen für den Export
strFolderPath = "C:\Dein\Ordner\Pfad"
strFileName = "Export.pdf"
' Erhalte das aktive E-Mail-Objekt
Set objMail = Application.ActiveInspector.CurrentItem
' Erhalte den Ordner des E-Mail-Objekts
Set objFolder = objMail.Parent
' Erhalte das Namespace-Objekt
Set objNamespace = Application.GetNamespace("MAPI")
' Erstelle ein FileSystem-Objekt
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
' Überprüfe, ob der Ordnerpfad existiert, andernfalls erstelle ihn
If Not objFileSystem.FolderExists(strFolderPath) Then
objFileSystem.CreateFolder strFolderPath
End If
' Exportiere das E-Mail-Objekt als PDF
objMail.ExportAsFixedFormat OutputFileName:=strFolderPath & "\" & strFileName, ExportFormat:=wdExportFormatPDF
' Gib eine Erfolgsmeldung aus
MsgBox "Die E-Mail wurde erfolgreich als PDF exportiert."
' Gib die Ressourcen frei
Set objMail = Nothing
Set objFolder = Nothing
Set objNamespace = Nothing
Set objFileSystem = Nothing
Set objFile = Nothing
End Sub
Kann mir vielleicht irgendjemand weiterhelfen?
ich würde gerne in Outlook 2021 ein Makro in Visual Basic als Skript auf einen Button legen, welches eine ausgewählte Email per Knopfdruck in eine pdf Datei umwandelt und hierbei den Dateinamen aus Absenderadresse, Datum und Zeit speichert. Ich möchte dies ausdrücklich nicht über das Druck-Menü als Pdf Ausdruck umsetzen, dies ist bei der Menge an Emails für uns zu langsam. Ich selbst habe leider keine Ahnung von Visual Basic. chatGPT hat mir das untenstehende Skript vorgeschlagen, leider funktioniert es nicht. Kann mir jemand helfen? Als Ordner und Pfad habe ich ein Verzeichnis auf meinem Server eingesetzt, dort scheint aber der Fehler nicht zu stecken. Kann mir jemand weiterhelfen?
Dim objMail As Outlook.MailItem
Dim objFolder As Outlook.Folder
Dim objNamespace As Outlook.Namespace
Dim objFileSystem As Object
Dim objFile As Object
Dim strFolderPath As String
Dim strFileName As String
' Setze eine Referenz auf das Outlook-Objektmodell
Sub ExportierePDF()
' Setze den Ordnerpfad und den Dateinamen für den Export
strFolderPath = "C:\Dein\Ordner\Pfad"
strFileName = "Export.pdf"
' Erhalte das aktive E-Mail-Objekt
Set objMail = Application.ActiveInspector.CurrentItem
' Erhalte den Ordner des E-Mail-Objekts
Set objFolder = objMail.Parent
' Erhalte das Namespace-Objekt
Set objNamespace = Application.GetNamespace("MAPI")
' Erstelle ein FileSystem-Objekt
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
' Überprüfe, ob der Ordnerpfad existiert, andernfalls erstelle ihn
If Not objFileSystem.FolderExists(strFolderPath) Then
objFileSystem.CreateFolder strFolderPath
End If
' Exportiere das E-Mail-Objekt als PDF
objMail.ExportAsFixedFormat OutputFileName:=strFolderPath & "\" & strFileName, ExportFormat:=wdExportFormatPDF
' Gib eine Erfolgsmeldung aus
MsgBox "Die E-Mail wurde erfolgreich als PDF exportiert."
' Gib die Ressourcen frei
Set objMail = Nothing
Set objFolder = Nothing
Set objNamespace = Nothing
Set objFileSystem = Nothing
Set objFile = Nothing
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 61183018182
Url: https://administrator.de/forum/hilfe-bei-vba-skript-fuer-outlook-61183018182.html
Ausgedruckt am: 22.04.2025 um 10:04 Uhr
5 Kommentare
Neuester Kommentar

Outlook selbst hat keine Built-in Möglichkeit zum Speichern als PDF, da lügt ChatGPT einfach mal wieder und pappt einfach die ExportAsFixedFormat-Funktion die aus dem Word Objektmodell stammt ins Outlook Objektmodell rein, wat für'n Stuss 🤮, da musst du in Outlook erst im Zwischenformat exportieren und dann Word zur Hilfe nehmen um eine Mail als PDF abzuspeichern. Guckst du hier
Gruß sid.
- https://www.howto-outlook.com/howto/saveaspdf.htm
- https://www.extendoffice.com/documents/outlook/1168-outlook-save-email-a ...
Gruß sid.

Zitat von @Laie23:
Danke schon einmal - leider wirft Outlook einen Syntaxfehler in der Zeile
tmpFileName = tmpFileName & "\" & strName
aus. Kannst Du mir eine Hilfe geben?
Gruß J.
Danke schon einmal - leider wirft Outlook einen Syntaxfehler in der Zeile
tmpFileName = tmpFileName & "\" & strName
aus. Kannst Du mir eine Hilfe geben?
Gruß J.
Hast den Code fehlerhaft kopiert ... Das & jeweils durch ein & ersetzen ...
tmpFileName = tmpFileName & "\" & strName