Muitos usuários desejam um método para extrair rapidamente todos os endereços de e-mail do corpo de um e-mail do Outlook ou até mesmo de vários e-mails. Portanto, este artigo analisará esse problema e compartilhará um método rápido que está usando o VBA.
Quando alguém lhe envia um e-mail cujo corpo contém uma lista de endereços de e-mail, se você deseja usar esses endereços de e-mail por algum motivo, como adicionar à sua pasta de contatos ou outros, primeiro deve extrair todos os endereços de e-mail do corpo . Portanto, a seguir, mostraremos como conseguir isso com o VBA.

Extraia todos os endereços de e-mail do corpo de vários e-mails do Outlook
- No início, inicie seu aplicativo Outlook.
- Então, depois de entrar na janela principal do Outlook, você pode pressionar as teclas “Alt + F11”.
- Em seguida, na nova janela “Microsoft Visual Basic for Applications”, você precisa abrir um módulo não utilizado ou simplesmente inserir um novo.
- Posteriormente, você deverá copiar e colar o seguinte código VBA neste módulo.
Sub ExtractEmailAddresses_BodyofMultipleEmails()
Dim objSelection As Outlook.Selection
Dim objMail As Outlook.MailItem
Dim i, n As Long
Dim objWordApp As Word.Application
Dim objWordDocument As Word.Document
Dim strEmailAddresses As String
Dim objFileSystem As Object
Dim strTextFile As String
Dim objTextFile As Object
Set objSelection = Outlook.Application.ActiveExplorer.Selection
If Not (objSelection Is Nothing) Then
i = 0
n = 1
On Error Resume Next
For i = objSelection.count To 1 Step -1
Set objMail = objSelection.Item(i)
objMail.Display
Set objWordDocument = objMail.GetInspector.WordEditor
Set objWordApp = objWordDocument.Application
Set objSearchRange = objWordDocument.Range
'Find the email addresses via wildcards
With objWordApp.Selection.Find
.Text = "[A-z,0-9]{1,}\@[A-z,0-9,.]{1,}"
.MatchWildcards = True
.Execute
End With
While objWordApp.Selection.Find.Found
'Get a list of email addresses in the body
strEmailAddresses = strEmailAddresses & n & ": " & objWordApp.Selection.Text & vbCrLf
objWordApp.Selection.Find.Execute
n = n + 1
Wend
objMail.Close olDiscard
Next
End If
'Create a new Text file
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
strTextFile = "E:\Extracted Email Addresses-" & Format(Date, "YYYYMMDD") & ".txt"
Set objTextFile = objFileSystem.CreateTextFile(strTextFile, True)
'Input the list of extracted email addresses into this Text file
objTextFile.WriteLine (strEmailAddresses)
objTextFile.Close
MsgBox "Completed!", vbInformation, "Extract Email Addresses"
End Sub
- Mais tarde, você pode sair da janela atual do editor VBA e continuar a adicionar a nova macro à Barra de Ferramentas de Acesso Rápido.
- Depois disso, você deve alterar o nível de segurança de macro do Outlook para baixo.
- Finalmente, você pode tentar.
- Em primeiro lugar, na lista de e-mail, selecione vários e-mails do Outlook, de cujo corpo você precisa extrair os endereços de e-mail.
- Em seguida, clique no novo botão na barra de ferramentas de acesso rápido.
- Quando receber uma mensagem solicitando “Concluído”, você pode ir para a pasta predefinida no código VBA para encontrar um novo arquivo .TXT.
- Abra este arquivo e você verá todos os endereços de e-mail extraídos, mostrados na captura de tela a seguir:
Proteja o Outlook contra macros maliciosas
Se você configurou seu Outlook para permitir todas as macros, fique atento a todas as macros disfarçadas nos e-mails desconhecidos. É porque eles podem conter muitos vírus ocultos, que podem causar diretamente a corrupção do Outlook. O arquivo PST infectado por vírus é muito difícil de ser recuperado. Naquela época, talvez seu último recurso seja um poderoso e confiável Correção do Outlook utilitário, como DataNumen Outlook Repair. Ele pode reparar o arquivo do Outlook, não importa o quão extremo seja o dano.
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 SQL corrompido e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com


