Ein Benutzer möchte möglicherweise E-Mails auf der Festplatte speichern, um sie unabhängig von Outlook anzuzeigen oder für andere Personen freizugeben. In diesem Artikel stellen wir vor, wie dies automatisch über VBA erfolgt.
E-Mails aus Outlook exportieren
Nicht jeder Internetbenutzer verwendet Outlook als E-Mail-Client und verwendet möglicherweise einen alternativen. Es kann auch vorkommen, dass eine E-Mail mit jemandem geteilt werden muss, ohne die eigentliche E-Mail zu senden. Auch zu Dokumentations- und Prüfungszwecken werden E-Mails häufig als Beweismittel vorgelegt. In solchen Szenarien bietet Outlook eine Methode zum unabhängigen Exportieren einer E-Mail als MSG- oder HTML-Datei. Das folgende VBA-Skript speichert jede eingehende E-Mail automatisch an einem vordefinierten Speicherort auf der Festplatte, ohne dass der Benutzer im HTML-Format eingreift. Nach dem Speichern kann die E-Mail in jedem Internetbrowser angezeigt werden, ohne dass ein E-Mail-Client erforderlich ist.
Outlook VBA-Skript
Unten finden Sie das vollständige Outlook VBA-Skript:
Private WithEvents Items As Outlook.Items
Private Count As Integer
Private Sub Application_Startup()
Dim objApp As Outlook.Application
Dim objNameSpace As Outlook.NameSpace
' Get the items in the Inbox folder
Set objApp = Outlook.Application
Set objNameSpace = objApp.GetNamespace("MAPI")
Set Items = objNameSpace.GetDefaultFolder(olFolderInbox).Items
' Initialize count
Count = 1
End Sub
Private Sub Items_ItemAdd(ByVal objItem As Object)
On Error GoTo ShowError
Dim objMail As Outlook.MailItem
' Check if the item is a mail. If yes, then save it as a HTML file and update Count
If TypeName(objItem) = "MailItem" Then
Set objMail = objItem
objMail.SaveAs "C:\MyEmails\MyEmail" & CStr(Count), olHTML
Count = Count + 1
End If
Exit Sub
ShowError:
MsgBox Err.Number & " - " & Err.Description
End Sub
So führen Sie das Skript aus

Verstehe das Skript
Im Skript wird die Routine „Items_ItemAdd“ bei jedem eingehenden Element im Posteingangsordner ausgelöst. Die Funktion „TypeName“ stellt sicher, dass die Routine nur dann ausgeführt wird, wenn es sich bei dem Element um eine E-Mail und nicht um ein anderes Outlook-Objekt handelt. Wenn Sie eine E-Mail aus einem anderen Ordner, z. B. „Gesendete Objekte“, in den Posteingang ziehen, funktioniert die Routine dennoch. Wichtig ist, dass „Items_ItemAdd“ nur ausgelöst wird, wenn eine E-Mail dem Hauptposteingangsordner hinzugefügt wird. Befinden sich Unterordner im Hauptposteingangsordner, funktioniert der Code nicht, wenn eine E-Mail in einen dieser Unterordner hinzugefügt wird. Damit die Routine auch für andere Ordner funktioniert, muss „Items_ItemAdd“ in der Routine „Application_Startup“ dem jeweiligen Ordner zugeordnet werden. Im obigen Skript kann das Format olHTML durch die Formate olMSG, olRTF, olDoc oder olTxt ersetzt werden. Das Standardbenennungsformat für jede zu speichernde E-Mail lautet „MeineE-Mail##“, wobei ## die fortlaufende Nummerierung ab 1 ist. Beispielsweise wird die zwölfte eingehende E-Mail nach Ausführung dieses Skripts als „MeineE-Mail12“ gespeichert.
Datenwiederherstellung nach Outlook-Fehler
Es ist kein sehr ungewöhnliches Szenario, dass Outlook sich auflöst und Benutzer am Ende viele Daten verlieren. Die Wiederherstellung aus solchen Situationen kann eine sehr schwierige und zeitaufwändige Aufgabe sein. Um Ihnen in solchen Fällen das Leben zu erleichtern, können Sie eine verwenden Wiederherstellung von Outlook-Daten Tool für eine effiziente und fehlerfreie Wiederherstellung.
Einführung des Autors:
Mary Underwood ist eine Datenrettungsexpertin in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich DWG-Wiederherstellung und rar Wiederherstellungssoftwareprodukte. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX