Unii utilizatori ar dori să extragă rapid toți destinatarii din mai multe fișiere de mesaje Outlook salvate din e-mailurile Outlook. Acum, aceasta post va analiza acest lucru pentru a împărtăși o abordare rapidă.
Pentru a extrage destinatarii dintr-un singur fișier de mesaj Outlook, puteți face doar dublu clic pentru a-l deschide și apoi copiați destinatarii în fereastra de mesaje deschisă. Dar, dacă trebuie să vă ocupați de un lot de fișiere de mesaje Outlook, metoda manuală nu este suficient de eficientă. Astfel, puteți căuta o modalitate mult mai eficientă. Aici vă vom prezenta un astfel de lucru. Citiți mai departe pentru a afla detaliile acestuia.
Extrageți toți destinatarii din mai multe fișiere cu mesaje Outlook (.msg).
- Pentru noitart, obțineți acces la editorul Outlook VBA conform „Cum să rulați codul VBA în Outlook".
- Apoi, copiați și inserați următorul cod VBA într-un modul gol.
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
- Apoi, mutați cursorul în prima subrutină.
- Ulterior, faceți clic pe butonul „Run” sau apăsați tasta „F5”.
- Apoi, în caseta de dialog pop-up, selectați folderul Windows care conține fișierele sursă cu mesaje Outlook (.msg).
- După selectare, faceți clic pe „OK” pentru a lăsa macro să continue să ruleze.
- Când macrocomandă se termină, va apărea un mesaj care listează adresele de e-mail ale tuturor destinatarilor extrași, așa cum se arată în următoarea captură de ecran.
Protejați-vă datele Outlook de pericole
Datele Outlook sunt, desigur, predispuse la corupție. Prin urmare, este o sarcină destul de oneroasă să protejați datele Outlook. Este necesar să perseverați în a face backup regulat pentru datele Outlook. De asemenea, dacă este posibil, este prudent și recomandat să pregătiți un Outlook cu experiență și profesionalism reparație PST instrument, cum ar fi DataNumen Outlook Repair, astfel încât să puteți obține o salvare imediată și în timp util în cazul corupției Outlook.
Introducerea autorului:
Shirley Zhang este expertă în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv recupera Sql Server și produse software de reparații Outlook. Pentru mai multe informații vizitați www.datanumen.com


