Alguns usuários gostariam de extrair rapidamente todos os destinatários de vários arquivos de mensagens do Outlook salvos de e-mails do Outlook. Agora, este post analisaremos isso para compartilhar uma abordagem rápida.
Para extrair os destinatários de um único arquivo de mensagem do Outlook, basta clicar duas vezes para abri-lo e copiar os destinatários na janela de mensagem aberta. Mas, se você precisar lidar com um lote de arquivos de mensagens do Outlook, o método manual não é eficiente o suficiente. Assim, você pode procurar uma maneira muito mais eficiente. Aqui vamos apresentar tal para você. Leia mais para obter seus detalhes.
Extrair todos os destinatários de vários arquivos de mensagens do Outlook (.msg)
- Para comotart, obtenha acesso ao editor VBA do Outlook de acordo com “Como executar o código VBA no seu Outlook".
- Em seguida, copie e cole o seguinte código VBA em um módulo vazio.
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
- Em seguida, mova o cursor na primeira sub-rotina.
- Em seguida, clique no botão “Executar” ou pressione a tecla “F5”.
- Em seguida, na caixa de diálogo pop-up, selecione a pasta do Windows que contém os arquivos de origem da mensagem do Outlook (.msg).
- Depois de selecionar, clique em “OK” para permitir que a macro continue em execução.
- Quando a macro terminar, uma mensagem listando todos os endereços de e-mail dos destinatários extraídos aparecerá, conforme mostrado na captura de tela a seguir.
Proteja seus dados do Outlook contra ameaças
Os dados do Outlook são reconhecidamente propensos a corrupção. Portanto, é uma tarefa bastante onerosa proteger os dados do Outlook. Requer que você persevere em fazer backup regular dos dados do Outlook. Além disso, se possível, é prudente e recomendável preparar um Outlook experiente e profissional Reparação de PST ferramenta, como DataNumen Outlook Repair, para que você possa obter resgate imediato e oportuno em caso de corrupção do Outlook.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo recuperar Sql Server e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com


