Comment extraire rapidement les pièces jointes de tous les fichiers de messages Outlook dans un dossier Windows

Partage maintenant:

Peut-être avez-vous stocké plusieurs e-mails Outlook au format .msg dans un dossier Windows. Et plus tard, vous souhaitez extraire les pièces jointes de ces fichiers, vous pouvez utiliser la méthode partagée dans cet article.

Il est assez facile d'extraire les pièces jointes des e-mails dans votre Outlook. Mais qu'en est-il des e-mails qui ont été exportés sous forme de fichiers .msg dans un dossier Windows ? En général, vous devez d'abord ouvrir ces fichiers .msg dans votre Outlook, puis enregistrer leurs pièces jointes une par une. Peut-être le sentirez-vous trop encombrant. Ainsi, par la suite, nous allons vous apprendre une autre solution beaucoup plus rapide.

Extraire les pièces jointes de tous les fichiers de messages Outlook dans un dossier Windows

  1. Pour commencer, ouvrez votre application Outlook et exécutez l'éditeur VBA.
  2. Ensuite, dans la fenêtre "Microsoft Visual Basic pour Applications", copiez le code VBA ci-dessous dans un module inutilisé.
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

Code VBA - Extraire les pièces jointes de tous les fichiers de messages Outlook dans un dossier Windows

  1. Ensuite, déplacez le curseur dans le premier sous-programme et appuyez sur la touche "F5".
  2. Ensuite, vous devrez choisir le dossier Windows source dans la boîte de dialogue contextuelle.Sélectionnez le dossier Windows
  3. Après avoir cliqué sur "OK", la macro continuera à fonctionner.
  4. Une fois terminé, vous recevrez le message "Terminé".
  5. Maintenant, vous pouvez accéder au dossier local prédéfini pour enregistrer les pièces jointes extraites.Pièces jointes extraites

Résoudre efficacement les problèmes d'Outlook

Étant donné qu'Outlook est certes sujet aux erreurs, vous devez rester prudent lorsque vous traitez des objets Outlook, comme ne jamais faire confiance aux fichiers ou aux liens intégrés dans les e-mails inconnus, etc. Sinon, votre fichier Outlook peut être facilement corrompu. Dans ces circonstances, même l'outil de réparation interne ne sera pas d'une grande aide. Ce à quoi vous pouvez recourir n'est qu'un utilitaire externe expérimenté, comme DataNumen Outlook Repair. Il peut fixer PST fichier avec une facilité sans effort.

Introduction de l'auteur:

Shirley Zhang est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris sql corrompu et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com

Partage maintenant:

Les commentaires sont fermés.