¿Cómo obtener la dirección de correo electrónico del remitente de uno o más correos electrónicos en Outlook?
¿Alguna vez ha intentado extraer la dirección de correo electrónico del campo "De" de uno o más correos electrónicos recibidos en Outlook? Este artículo proporciona un código VBA para ayudarlo a manejar esta tarea.
Obtenga la dirección de correo electrónico del remitente de uno o más correos electrónicos en Outlook
Ejecute el siguiente código VBA para extraer la dirección de correo electrónico del campo "De" de uno o más correos electrónicos recibidos en Outlook.
1. Abra una carpeta de correo electrónico, seleccione un mensaje de correo electrónico del que desee obtener la dirección de correo electrónico del remitente. presione el otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.
Tips: Para seleccionar varios correos electrónicos, mantenga presionada la tecla Ctrl y luego seleccione los correos electrónicos uno por uno.
2. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Módulo, luego copie el siguiente código VBA en la ventana Módulo (código).
Código VBA: extraiga la dirección de correo electrónico del remitente de uno o más correos electrónicos 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. Hacer clic en Enlaces > Referencias, luego verifique el Tiempo de ejecución de secuencias de comandos de Microsoft en el cuadro Referencias – Proyecto1 caja de diálogo.
4. presione el F5 clave para ejecutar el código. Entonces un Kutools for Outlook Aparece un cuadro de diálogo que enumera todas las direcciones de correo electrónico del remitente de los correos electrónicos seleccionados.
Tips:
5. Después de hacer clic en Sí botón, un Busca por carpetas aparece el cuadro de diálogo. Elija una carpeta para guardar el archivo y haga clic en el OK del botón.
6. Finalmente, un Kutools for Outlook Aparecerá un cuadro de diálogo que le indicará la ruta del archivo exportado. Hacer clic OK para cerrarlo
7. Vaya a la carpeta donde se guarda el archivo exportado y abra el archivo .txt llamado Dirección para ver las direcciones de correo electrónico del remitente de los correos electrónicos seleccionados.
Kutools for Outlook - ¡Trae 100 funciones avanzadas a Outlook y hace que el trabajo sea mucho más fácil!
- Auto CC / BCC por reglas al enviar correo electrónico; Reenvío automático Varios correos electrónicos personalizados; Respuesta automática sin servidor de intercambio y más funciones automáticas ...
- Advertencia de BCC - mostrar mensaje cuando intente responder a todos si su dirección de correo está en la lista CCO; Recordar si faltan archivos adjuntosy más funciones de recordatorio ...
- Responder (todos) con todos los archivos adjuntos en la conversación de correo; Responder muchos correos electrónicos en segundos; Agregar saludo automáticamente cuando responda; Agregar fecha al asunto ...
- Herramientas de archivos adjuntos: administre todos los archivos adjuntos en todos los correos, Desconexión automática, Comprimir todo, Renombrar todo, Guardar todo ... Informe rápido, Contar correos seleccionados...
- Potentes correos electrónicos no deseados por costumbre; Eliminar correos y contactos duplicados... Le permite hacerlo de forma más inteligente, más rápida y mejor en Outlook.

