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
- Pour commencer, ouvrez votre application Outlook et exécutez l'éditeur VBA.
- 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
- Ensuite, déplacez le curseur dans le premier sous-programme et appuyez sur la touche "F5".
- Ensuite, vous devrez choisir le dossier Windows source dans la boîte de dialogue contextuelle.
- Après avoir cliqué sur "OK", la macro continuera à fonctionner.
- Une fois terminé, vous recevrez le message "Terminé".
- Maintenant, vous pouvez accéder au dossier local prédéfini pour enregistrer les 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


