KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como obter o endereço de e-mail do remetente de um ou mais e-mails no Outlook?

AutoraSiluvia Data de Modificação

Já tentou extrair o endereço de e-mail do campo «De» de um ou mais e-mails recebidos no Outlook? Este artigo fornece um código VBA para o ajudar exatamente nessa tarefa.


Obter o Endereço de Email do remetente de um ou mais e-mails no Outlook

Execute o seguinte código VBA para extrair o endereço de e-mail do campo «De» de um ou mais e-mails recebidos no Outlook.

1. Abra uma pasta de e-mails e selecione uma mensagem da qual pretende obter o endereço de e-mail do remetente. Prima as teclas Alt+F11 para abrir a janela Microsoft Visual Basic for Applications.

Sugestões: Para selecionar vários e-mails, mantenha premida a tecla Ctrl e selecione os e-mails um a um.

2. Na janela Microsoft Visual Basic for Applications, clique em Inserir > Módulo e, de seguida, copie o seguinte código VBA para a janela do Módulo (código).

passos para obter o endereço de e-mail do remetente de um ou mais e-mails no Outlook

Código VBA: extrair o Endereço de Email do remetente de um ou mais e-mails no Outlook

Sub GetSmtpAddressOfSelectionEmail()
  Dim xExplorer As Explorer
  Dim xSelection As Selection
  Dim xItem As Object
  Dim xMail As MailItem
  Dim xAddress As String
  Dim xFldObj As Object
  Dim FilePath As String
  Dim xFSO As Scripting.FileSystemObject
  On Error Resume Next
  Set xExplorer = Application.ActiveExplorer
  Set xSelection = xExplorer.Selection
  For Each xItem In xSelection
    If xItem.Class = olMail Then
      Set xMail = xItem
      xAddress = xAddress & VBA.vbCrLf & "  " & GetSmtpAddress(xMail)
    End If
  Next
  If MsgBox("Sender SMTP Address is: " & xAddress & vbCrLf & vbCrLf & "Do you want to export the address list to a txt file? ", vbYesNo, "Kutools for Outlook") = vbYes Then
    Set xFldObj = CreateObject("Shell.Application").BrowseforFolder(0, "Select a Folder", 0, 16)
    Set xFSO = New Scripting.FileSystemObject
    If xFldObj Is Nothing Then Exit Sub
    FilePath = xFldObj.Items.Item.Path & "\Address.txt"
    Close #1
    Open FilePath For Output As #1
    Print #1, "Sender SMTP Address is: " & xAddress
    Close #1
    Set xFSO = Nothing
    Set xFldObj = Nothing
    MsgBox "Address list has been exported to:" & FilePath, vbOKOnly + vbInformation, "Kutools for Outlook"
  End If
End Sub
Function GetSmtpAddress(Mail As MailItem)
  Dim xNameSpace As Outlook.NameSpace
  Dim xEntryID As String
  Dim xAddressEntry As AddressEntry
  Dim PR_SENT_REPRESENTING_ENTRYID As String
  Dim PR_SMTP_ADDRESS As String
  Dim xExchangeUser As exchangeUser
  On Error Resume Next
  GetSmtpAddress = ""
  Set xNameSpace = Application.Session
  If Mail.sender.Type <> "EX" Then
    GetSmtpAddress = Mail.sender.Address
  Else
    PR_SENT_REPRESENTING_ENTRYID = "http://schemas.microsoft.com/mapi/proptag/0x00410102"
    xEntryID = Mail.PropertyAccessor.BinaryToString(Mail.PropertyAccessor.GetProperty(PR_SENT_REPRESENTING_ENTRYID))
    Set xAddressEntry = xNameSpace.GetAddressEntryFromID(xEntryID)
    If xAddressEntry Is Nothing Then Exit Function
    If xAddressEntry.AddressEntryUserType = olExchangeUserAddressEntry Or xAddressEntry.AddressEntryUserType = olExchangeRemoteUserAddressEntry Then
      Set xExchangeUser = xAddressEntry.GetExchangeUser()
      If xExchangeUser Is Nothing Then Exit Function
      GetSmtpAddress = xExchangeUser.PrimarySmtpAddress
    Else
      PR_SMTP_ADDRESS = "http://schemas.microsoft.com/mapi/proptag/0x39FE001E"
      GetSmtpAddress = xAddressEntry.PropertyAccessor.GetProperty(PR_SMTP_ADDRESS)
    End If
  End If
End Function

3. Clique em Ferramentas > Referências e, de seguida, marque a caixa Microsoft Scripting Runtime na caixa de diálogo Referências – Project1.

passos para obter o endereço de e-mail do remetente de um ou mais e-mails no Outlook

4. Prima a tecla F5 para executar o código. Em seguida, surge uma caixa de diálogo Kutools para Outlook com a lista de todos os endereços de e-mail dos remetentes dos e-mails selecionados.

Sugestões:

Se precisar de exportar os Lista de Endereços para um Arquivo TXT, clique no botão Sim.
Ou clique no botão Nãopara terminar o processo.
passos para obter o endereço de e-mail do remetente de um ou mais e-mails no Outlook

5. Após clicar no botão Sim, surge a caixa de diálogo Procurar Pasta. Escolha uma pasta para guardar o ficheiro e clique no botão OK.

passos para obter o endereço de e-mail do remetente de um ou mais e-mails no Outlook

6. Por fim, surge uma caixa de diálogo Kutools para Outlook que indica o caminho do ficheiro exportado. Clique em OK para a fechar.

passos para obter o endereço de e-mail do remetente de um ou mais e-mails no Outlook

7. Aceda à pasta onde o ficheiro exportado foi guardado e abra o ficheiro .TXT com o nome Address para ver os endereços de e-mail dos remetentes das mensagens selecionadas.

passos para obter o endereço de e-mail do remetente de um ou mais e-mails no Outlook

Melhores Ferramentas de Produtividade para o Office

Experimente o totalmente novo Kutools para Outlook com 100+ funcionalidades incríveis!Clique para transferir já!

🤖KUTOOLS AI:Utiliza tecnologia avançada de IA para gerir e-mails sem esforço, incluindo responder, resumir, otimizar, alongar, traduzir e redigir mensagens.

📧Automação de E-mails: Resposta Automática (disponível para POP e IMAP) / Agendar Envio de E-mails / CC/BCC Automático por Regras ao Enviar E-mail / Encaminhamento Automático (regra avançada) / Adicionar Saudação Automaticamente / Dividir Automaticamente E-mails com Múltiplos Destinatários em Mensagens Individuais...

📨Gestão de E-mails: Recallar e-mail / Bloquear e-mails fraudulentos por assunto e outros critérios / Eliminar e-mails duplicados / Pesquisa avançada / Organizar pastas...

📁Anexos Pro: Guardar em Lote / Desanexar em Lote / Comprimir em Lote / Salvar Automaticamente / Desanexar Automaticamente / Auto Comprimir...

🌟Magia da Interface: 😊 Mais Emojis Bonitos e Divertidos / Avisa-o quando chegam e-mails importantes / Minimizar o Outlook em vez de fechá-lo...

👍Maravilhas com um Clique: Responder a Todos com Anexos / E-mails Anti-Phishing / 🕘 Mostrar Fuso Horário – Hora Atual do Remetente...

👩🏼‍🤝‍👩🏻Contactos e Calendário: Criar contactos em lote a partir de e-mails selecionados / Dividir um grupo de contactos em grupos individuais / Remover lembrete de aniversário...

Utilize o Kutools no seu idioma preferido – com suporte para inglês, espanhol, alemão, francês, chinês e mais de 40 idiomas!

Desbloqueie instantaneamente o Kutools para Outlook com um único clique! Não espere mais — transfira já e aumente a sua eficiência!

kutools for outlook features1kutools for outlook features2

🚀 Transferência com um Clique — Obtenha Todos os Extras do Office

Altamente Recomendado: Kutools for Office (5 em 1)

Um clique para transferir cinco instaladoresde uma só vez —Kutools para Excel, Outlook, Word, PowerPointe Office Tab Pro.Clique para transferir já!

  • Conveniência com um clique: Transfira os cinco pacotes de instalação numa única ação.
  • 🚀Pronto para qualquer tarefa no Office: instale os extras que precisa, exatamente quando os precisar.
  • 🧰Incluídos: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools for PowerPoint