Måske har du gemt flere Outlook-e-mails i .msg-format i en Windows-mappe. Og senere vil du udtrække vedhæftede filer fra disse filer, du kan bruge den måde, der deles i denne artikel.
Det er ret nemt at udtrække vedhæftede filer fra e-mails i din Outlook. Men hvad med de e-mails, der er eksporteret som .msg-filer i en Windows-mappe? Generelt skal du først åbne disse .msg-filer i din Outlook og derefter gemme vedhæftede filer fra dem en efter en. Måske vil du føle det for besværligt. Så derefter vil vi lære dig en anden meget hurtigere løsning.
Uddrag vedhæftede filer fra alle Outlook-meddelelsesfiler i en Windows-mappe
- Til at begynde med skal du starte dit Outlook-program og køre VBA-editoren.
- Kopier derefter VBA-koden i vinduet “Microsoft Visual Basic for Applications” til et ubrugt 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
- Flyt derefter markøren ind i den første underrutine og tryk på "F5" -tasten.
- Derefter skal du vælge kilden Windows-mappe i popup-dialogboksen.
- Efter klik på “OK” fortsætter makroen til at fungere.
- Når den er færdig, vil du modtage meddelelsen "Afsluttet".
- Nu kan du få adgang til den foruddefinerede lokale mappe til at gemme udpakkede vedhæftede filer.
Løs Outlook-problemer effektivt
Da Outlook ganske vist er udsat for fejl, skal du være forsigtig, når du beskæftiger dig med Outlook-objekter, som f.eks. Aldrig at stole på de filer eller links, der er integreret i de ukendte e-mails og så videre. Ellers kan din Outlook-fil let blive korrupt. Under denne omstændighed vil selv det interne fix-værktøj ikke være en stor hjælp. Hvad du kan ty til er kun en erfaren ekstern hjælpeprogram, ligesom DataNumen Outlook Repair. Det kan rette PST fil uden besvær.
Forfatter Introduktion:
Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder beskadiget sql og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com


