Skip to main content

Kutools para Office — Una Suite. Cinco Herramientas. Haz Más.

¿Cómo obtener la dirección de correo electrónico del remitente de uno o varios correos en Outlook?

Author Siluvia Last modified

¿Alguna vez has intentado extraer la dirección de correo electrónico del campo "De" de uno o varios correos recibidos en Outlook? Este artículo proporciona un código VBA para ayudarte a realizar esta tarea.


Obtener la dirección de correo electrónico del remitente de uno o varios correos en Outlook

Por favor, ejecuta el siguiente código VBA para extraer la dirección de correo electrónico del campo "De" de uno o varios correos recibidos en Outlook.

1. Abre una carpeta de correo, selecciona un mensaje de correo del cual quieras obtener la dirección de correo electrónico del remitente. Presiona las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

Nota: Para seleccionar varios correos, mantén presionada la tecla Ctrl y luego selecciona los correos uno por uno.

2. En la ventana de Microsoft Visual Basic para Aplicaciones, haz clic en Insertar > Módulo, luego copia el siguiente código VBA en la ventana del Módulo (código).

steps on getting the sender’s email address from one or more emails in Outlook

Código VBA: extraer la dirección de correo electrónico del remitente de uno o varios correos en 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. Haz clic en Herramientas > Referencias, luego marca la casilla Microsoft Scripting Runtime en el cuadro de diálogo Referencias – Proyecto1.

steps on getting the sender’s email address from one or more emails in Outlook

4. Presiona la tecla F5 para ejecutar el código. Luego aparecerá un cuadro de diálogo de Kutools para Outlook, listando todas las direcciones de correo electrónico de los remitentes de los correos seleccionados.

Nota:

Si necesitas exportar la lista de direcciones a un archivo txt, haz clic en el botón .
O haz clic en el botón No para finalizar el proceso.
steps on getting the sender’s email address from one or more emails in Outlook

5. Después de hacer clic en el botón , aparecerá un cuadro de diálogo Examinar Carpeta. Por favor, elige una carpeta para guardar el archivo y haz clic en el botón Aceptar.

steps on getting the sender’s email address from one or more emails in Outlook

6. Finalmente, aparecerá un cuadro de diálogo de Kutools para Outlook, indicándote la ruta del archivo exportado. Haz clic en Aceptar para cerrarlo.

steps on getting the sender’s email address from one or more emails in Outlook

7. Ve a la carpeta donde se guardó el archivo exportado y abre el archivo .txt llamado Dirección para ver las direcciones de correo electrónico de los remitentes de los correos seleccionados.

steps on getting the sender’s email address from one or more emails in Outlook

Las mejores herramientas de productividad para Office

Noticia de última hora: ¡Kutools para Outlook lanza su versión gratuita!

¡Descubre el nuevo Kutools para Outlook con más de100 increíbles funciones! Haz clic para descargar ahora.

🤖 Kutools AI : Utiliza tecnología avanzada de IA para gestionar tus correos electrónicos sin esfuerzo: responder, resumir, optimizar, ampliar, traducir y redactar correos.

📧 Automatización de correo electrónico: Respuesta automática (disponible para POP e IMAP) / Programar envío de correo electrónico / CC/BCC automático por regla al enviar correo / Reenvío automático (Regla avanzada) / Agregar saludo automáticamente / Dividir automáticamente correos con múltiples destinatarios en emails individuales...

📨 Gestión de correo electrónico: Recuperar correo electrónico / Bloquear correos fraudulentos por asunto y otros filtros / Eliminar duplicados / Búsqueda Avanzada / Organizar carpetas...

📁 Adjuntos Pro: Guardar en lote / Desanexar en lote / Comprimir en lote / Guardar automáticamente / Desconectar automáticamente / Auto Comprimir...

🌟 Magia en la interfaz: 😊Más emojis bonitos y modernos / Avisos cuando llegan emails importantes / Minimizar Outlook en vez de cerrar...

👍 Funciones en un clic: Responder a Todos con Adjuntos / Correos antiphishing / 🕘Mostrar la zona horaria del remitente...

👩🏼‍🤝‍👩🏻 Contactos y Calendario: Agregar contacto en lote desde emails seleccionados / Dividir un grupo de contactos en grupos individuales / Eliminar recordatorio de cumpleaños...

Utiliza Kutools en tu idioma preferido — disponible en Inglés, Español, Alemán, Francés, Chino y más de40 idiomas adicionales.

Activa Kutools para Outlook al instante con un solo clic. No esperes más, descarga ahora y maximiza tu productividad.

kutools for outlook features1 kutools for outlook features2

🚀 Descarga con un solo clic — Consigue todos los complementos para Office

Muy recomendado: Kutools para Office (5 en1)

Descarga los cinco instaladores a la vez con solo un clic — Kutools para Excel, Outlook, Word, PowerPoint y Office Tab Pro. Haz clic para descargar ahora.

  • Comodidad en un solo clic: Descarga los cinco paquetes de instalación en una sola acción.
  • 🚀 Listo para cualquier tarea en Office: Instala los complementos que necesites cuando los necesites.
  • 🧰 Incluye: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools para PowerPoint