Bijlagen snel extraheren uit alle Outlook-berichtbestanden in een Windows-map

Misschien heb je meerdere Outlook-e-mails in .msg-indeling opgeslagen in een Windows-map. En later wilt u de bijlagen uit deze bestanden extraheren, u kunt de manier gebruiken die in dit artikel wordt gedeeld.

Het is vrij eenvoudig om bijlagen uit de e-mails in uw Outlook te extraheren. Maar hoe zit het met de e-mails die zijn geëxporteerd als .msg-bestanden in een Windows-map? Over het algemeen moet u deze .msg-bestanden eerst openen in uw Outlook en vervolgens de bijlagen één voor één opslaan. Misschien vindt u het te omslachtig. Daarom leren we u hierna nog een veel snellere oplossing.

Extraheer bijlagen uit alle Outlook-berichtbestanden in een Windows-map

  1. Om te beginnen, start uw Outlook-applicatie en voer de VBA-editor uit.
  2. Kopieer vervolgens in het venster "Microsoft Visual Basic for Applications" de onderstaande VBA-code naar een ongebruikte module.
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

VBA-code - extraheer bijlagen uit alle Outlook-berichtbestanden in een Windows-map

  1. Verplaats vervolgens de cursor naar de eerste subroutine en druk op de toets "F5".
  2. Daarna moet u de bron-Windows-map in het pop-upvenster kiezen.Selecteer Windows-map
  3. Nadat u op "OK" hebt geklikt, blijft de macro werken.
  4. Als het klaar is, ontvang je het bericht "Voltooid".
  5. Nu kunt u toegang krijgen tot de vooraf gedefinieerde lokale map om uitgepakte bijlagen op te slaan.Geëxtraheerde bijlagen

Los Outlook-problemen efficiënt op

Aangezien Outlook weliswaar foutgevoelig is, moet u voorzichtig zijn bij het omgaan met Outlook-objecten, zoals nooit vertrouwen in de bestanden of koppelingen die zijn ingesloten in de onbekende e-mails, enzovoort. Anders kan uw Outlook-bestand gemakkelijk beschadigd raken. Onder die omstandigheid zal zelfs de interne fix-tool niet veel helpen. Waar u uw toevlucht toe kunt nemen, is alleen een ervaren extern hulpprogramma, zoals DataNumen Outlook Repair. Het kan repareer PST bestand met moeiteloos gemak.

Auteur Introductie:

Shirley Zhang is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder beschadigde sql en Outlook-reparatiesoftwareproducten. Voor meer informatie bezoek www.datanumen.com

Reacties zijn gesloten.