Kanskje du har lagret flere Outlook-e-poster i .msg-format i en Windows-mappe. Og senere, hvis du vil trekke ut vedleggene fra disse filene, kan du bruke måten som er delt i denne artikkelen.
Det er ganske enkelt å trekke ut vedlegg fra e-postene i Outlook. Men hva med e-postene som har blitt eksportert som .msg-filer i en Windows-mappe? Generelt må du først åpne disse .msg-filene i Outlook og deretter lagre vedlegg fra dem ett etter ett. Kanskje du vil føle det for tungvint. Så, deretter, vil vi lære deg en annen mye raskere løsning.
Trekk ut vedlegg fra alle Outlook-meldingsfiler i en Windows-mappe
- Til å begynne med, start Outlook-applikasjonen og kjør VBA-redigering.
- Deretter, i "Microsoft Visual Basic for Applications"-vinduet, kopierer du VBA-koden nedenfor til en ubrukt 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
- Deretter flytter du markøren til den første subrutinen og trykker på "F5"-tasten.
- Etterpå vil du bli bedt om å velge kilden for Windows-mappen i popup-dialogboksen.
- Etter å ha klikket "OK", vil makroen fortsette å fungere.
- Når den er ferdig, vil du motta meldingen "Fullført".
- Nå kan du få tilgang til den forhåndsdefinerte lokale mappen for å lagre utpakkede vedlegg.
Løs Outlook-problemer effektivt
Siden Outlook riktignok er utsatt for feil, må du være forsiktig mens du arbeider med Outlook-objekter, for eksempel aldri stole på filene eller koblingene som er innebygd i de ukjente e-postene og så videre. Ellers kan Outlook-filen din lett bli ødelagt. Under den omstendigheten vil ikke selv det interne fikseringsverktøyet være til mye hjelp. Det du kan ty til er kun et erfarent eksternt verktøy, som DataNumen Outlook Repair. Det kan fikse PST fil med uanstrengt letthet.
Forfatterintroduksjon:
Shirley Zhang er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert ødelagt sql og Outlook-reparasjonsprodukter. For mer informasjon besøk www.datanumen. Med


