laie23
Goto Top

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

Content-Key: 61183018182

Url: https://administrator.de/contentid/61183018182

Printed on: June 16, 2024 at 16:06 o'clock

Mitglied: 7907292512
Solution 7907292512 Oct 22, 2023 updated at 13:03:44 (UTC)
Goto Top
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.
Member: Laie23
Laie23 Oct 22, 2023 at 14:54:19 (UTC)
Goto Top
Danke schon einmal - leider wirft Outlook einen Syntaxfehler in der Zeile
tmpFileName = tmpFileName & "\" & strName

aus. Kannst Du mir eine Hilfe geben?

Gruß J.
Mitglied: 7907292512
7907292512 Oct 22, 2023 updated at 16:34:38 (UTC)
Goto Top
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.

Hast den Code fehlerhaft kopiert ... Das & jeweils durch ein & ersetzen ...

tmpFileName = tmpFileName & "\" & strName  
Member: Laie23
Laie23 Oct 25, 2023 at 13:39:37 (UTC)
Goto Top
Also, das amp; löschen?
Mitglied: 7907292512
7907292512 Oct 25, 2023 updated at 14:16:15 (UTC)
Goto Top
Zitat von @Laie23:

Also, das amp; löschen?
Ja, das & ist eine HTML-Entity für das & Zeichen und & ist der Verkettungsoperator in VBA(s) ...
RTFM