Certains utilisateurs souhaitent extraire rapidement tous les destinataires de plusieurs fichiers de messages Outlook enregistrés à partir d'e-mails Outlook. Maintenant, ce post examinera cela pour partager une approche rapide.
Pour extraire les destinataires d'un seul fichier de message Outlook, vous pouvez simplement double-cliquer pour l'ouvrir, puis copier les destinataires dans la fenêtre de message ouverte. Mais, si vous devez traiter un lot de fichiers de messages Outlook, la méthode manuelle n'est pas assez efficace. Ainsi, vous pouvez rechercher un moyen beaucoup plus efficace. Ici, nous allons vous présenter un tel. Lisez la suite pour obtenir ses détails.
Extraire tous les destinataires de plusieurs fichiers de messages Outlook (.msg)
- Pour commetart, accédez à l'éditeur Outlook VBA selon "Comment exécuter le code VBA dans votre Outlook" .
- Ensuite, copiez et collez le code VBA suivant dans un module vide.
Dim strRecipients As String
Sub ExtractRecipientsFromOutlookMSGFiles()
Dim objShell, objWindowsFolder As Object
strRecipients = ""
'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
Call ProcessWindowsFolders(objWindowsFolder.self.Path & "\")
'Display a Message
MsgBox "Recipients: " & vbCrLf & strRecipients, vbInformation + vbOKOnly
End If
End Sub
Sub ProcessWindowsFolders(strFolderPath As String)
Dim objFileSystem As Object
Dim objFolder As Object
Dim objFile As Object
Dim objItem As Object
Dim objMail As Outlook.MailItem
Dim objRecipient As Outlook.Recipient
Dim objSubfolder As Object
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFileSystem.GetFolder(strFolderPath)
For Each objFile In objFolder.Files
If objFileSystem.GetExtensionName(objFile) = "msg" Then
Set objItem = Session.OpenSharedItem(objFile.Path)
If TypeName(objItem) = "MailItem" Then
Set objMail = objItem
'Extract recipients' email addresses
For Each objRecipient In objMail.Recipients
strRecipients = strRecipients & objRecipient.Address & vbCr
Next
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 ProcessWindowsFolders(objSubfolder.Path)
End If
Next
End If
End Sub
- Ensuite, déplacez le curseur dans le premier sous-programme.
- Ensuite, cliquez sur le bouton "Exécuter" ou appuyez sur la touche "F5".
- Ensuite, dans la boîte de dialogue contextuelle, sélectionnez le dossier Windows qui contient les fichiers de messages Outlook source (.msg).
- Après avoir sélectionné, cliquez sur "OK" pour laisser la macro continuer à s'exécuter.
- Une fois la macro terminée, un message répertoriant les adresses e-mail de tous les destinataires extraits s'affichera, comme illustré dans la capture d'écran suivante.
Protégez vos données Outlook contre les dangers
Les données Outlook sont certes sujettes à la corruption. Par conséquent, la sauvegarde des données Outlook est une tâche assez onéreuse. Cela vous oblige à persévérer dans la sauvegarde régulière des données Outlook. Aussi, si possible, il est prudent et recommandé de préparer un Outlook expérimenté et professionnel Réparation PST outil, comme DataNumen Outlook Repair, afin que vous puissiez obtenir un secours immédiat et rapide en cas de corruption d'Outlook.
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 récupérer Sql Server et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com


