Möglicherweise haben Sie mehrere Outlook-E-Mails im MSG-Format in einem Windows-Ordner gespeichert. Wenn Sie später die Anhänge aus diesen Dateien extrahieren möchten, können Sie die in diesem Artikel beschriebene Methode verwenden.
Es ist ziemlich einfach, Anhänge aus den E-Mails in Ihrem Outlook zu extrahieren. Aber was ist mit den E-Mails, die als MSG-Dateien in einen Windows-Ordner exportiert wurden? Im Allgemeinen müssen Sie zuerst diese MSG-Dateien in Ihrem Outlook öffnen und dann nacheinander Anhänge daraus speichern. Vielleicht empfinden Sie es als zu umständlich. Im Folgenden werden wir Ihnen eine weitere, viel schnellere Lösung beibringen.
Extrahieren Sie Anhänge aus allen Outlook-Nachrichtendateien in einem Windows-Ordner
- Starten Sie zunächst Ihre Outlook-Anwendung und führen Sie den VBA-Editor aus.
- Kopieren Sie dann im Fenster "Microsoft Visual Basic für Applikationen" den folgenden VBA-Code in ein nicht verwendetes Modul.
Dim strAttachmentFolder As String
Sub ExtractAttachmentsFromEmailsStoredinWindowsFolder()
Dim objShell, objWindowsFolder As Object
'Select a Windows folder
Set objShell = CreateObject("Shell.Application")
Set objWindowsFolder = objShell.BrowseForFolder(0, "Select a Windows Folder:", 0, "")
If Not objWindowsFolder Is Nothing Then
'Create a new folder for saving extracted attachments
strAttachmentFolder = "E:\Attachments-" & Format(Now, "MMDDHHMMSS") & "\"
MkDir (strAttachmentFolder)
Call ProcessFolders(objWindowsFolder.self.Path & "\")
MsgBox "Completed!", vbInformation + vbOKOnly
End If
End Sub
Sub ProcessFolders(strFolderPath As String)
Dim objFileSystem As Object
Dim objFolder As Object
Dim objFiles As Object
Dim objFile As Object
Dim objItem As Object
Dim i As Long
Dim objSubFolder As Object
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFileSystem.GetFolder(strFolderPath)
Set objFiles = objFolder.Files
For Each objFile In objFiles
If objFileSystem.GetExtensionName(objFile) = "msg" Then
'Open the Outlook emails stored in Windows folder
Set objItem = Session.OpenSharedItem(objFile.Path)
If TypeName(objItem) = "MailItem" Then
If objItem.Attachments.Count > 0 Then
'Extract attachments
For i = objItem.Attachments.Count To 1 Step -1
objItem.Attachments(i).SaveAsFile strAttachmentFolder & objItem.Attachments(i).FileName
Next
End If
End If
End If
Next
'Process all subfolders recursively
If objFolder.SubFolders.Count > 0 Then
For Each objSubFolder In objFolder.SubFolders
If ((objSubFolder.Attributes And 2) = 0) And ((objSubFolder.Attributes And 4) = 0) Then
Call ProcessFolders(objSubFolder.Path)
End If
Next
End If
End Sub
- Bewegen Sie anschließend den Cursor in die erste Unterroutine und drücken Sie die Taste „F5“.
- Anschließend müssen Sie den Windows-Quellordner im Popup-Dialogfeld auswählen.
- Nachdem Sie auf "OK" geklickt haben, funktioniert das Makro weiter.
- Wenn es fertig ist, erhalten Sie die Meldung "Abgeschlossen".
- Jetzt können Sie auf den vordefinierten lokalen Ordner zugreifen, um extrahierte Anhänge zu speichern.
Beheben Sie Outlook-Probleme effizient
Da Outlook zugegebenermaßen fehleranfällig ist, müssen Sie beim Umgang mit Outlook-Objekten vorsichtig sein, z. B. niemals auf die in unbekannte E-Mails eingebetteten Dateien oder Links vertrauen usw. Andernfalls kann Ihre Outlook-Datei leicht beschädigt werden. Unter diesen Umständen wird selbst das interne Fix-Tool keine große Hilfe sein. Was Sie verwenden können, ist nur ein erfahrenes externes Dienstprogramm, wie DataNumen Outlook Repair. Es kann PST beheben Datei mit müheloser Leichtigkeit.
Einführung des Autors:
Shirley Zhang ist eine Datenrettungsexpertin in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich beschädigtes SQL und Outlook-Reparatursoftwareprodukte. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX


