KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как получить адрес электронной почты отправителя из одного или нескольких писем в Outlook?

АвторSiluviaДата изменения

Приходилось ли вам извлекать адрес электронной почты из поля «От» одного или нескольких полученных писем в Outlook? В этой статье представлен код VBA, который поможет вам легко справиться с этой задачей.


Получение Адрес электронной почты отправителя из одного или нескольких писем в Outlook

Выполните приведённый ниже код VBA, чтобы извлечь адрес электронной почты из поля «От» одного или нескольких полученных писем в Outlook.

1. Откройте папку с письмами и выберите сообщение, из которого нужно получить адрес электронной почты отправителя. Нажмите клавиши Alt+F11, чтобы открыть окно Microsoft Visual Basic для приложений.

Совет: чтобы выбрать несколько писем, удерживайте клавишу Ctrl и последовательно выделяйте нужные письма.

2. В окне Microsoft Visual Basic для приложений нажмите Вставка > Модуль, затем скопируйте приведённый ниже код VBA в окно модуля.

шаги по получению адреса электронной почты отправителя из одного или нескольких писем в Outlook

Код VBA: извлечение Адрес электронной почты отправителя из одного или нескольких писем в 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. Нажмите Сервис > Ссылки, затем установите флажок напротив пункта Microsoft Scripting Runtime в диалоговом окне Ссылки – Project1.

шаги по получению адреса электронной почты отправителя из одного или нескольких писем в Outlook

4. Нажмите клавишу F5, чтобы запустить код. После этого откроется диалоговое окно Kutools для Outlook, в котором будут перечислены адреса электронной почты отправителей выбранных писем.

Совет:

Если требуется экспортировать Список адресов в Файл TXT, нажмите кнопку Да.
Или нажмите кнопку Нет, чтобы завершить процесс.
шаги по получению адреса электронной почты отправителя из одного или нескольких писем в Outlook

5. После нажатия кнопки Да появится диалоговое окно Выбор папки. Выберите папку для сохранения файла и нажмите кнопку ОК.

шаги по получению адреса электронной почты отправителя из одного или нескольких писем в Outlook

6. В завершение появится диалоговое окно Kutools для Outlook, в котором будет указан путь к экспортированному файлу. Нажмите кнопку ОК, чтобы закрыть его.

шаги по получению адреса электронной почты отправителя из одного или нескольких писем в Outlook

7. Перейдите в папку, куда был сохранён экспортированный файл, и откройте файл с расширением .TXT и именем Address, чтобы просмотреть адреса электронной почты отправителей выбранных писем.

шаги по получению адреса электронной почты отправителя из одного или нескольких писем в Outlook

Лучшие инструменты для повышения продуктивности в Office

Оцените совершенно новый Kutools для Outlook с 100+ потрясающими функциями!Нажмите, чтобы скачать прямо сейчас!

🤖KUTOOLS AI:Использует передовые технологии ИИ для удобной работы с электронной почтой: ответы, составление резюме, оптимизация, расширение, перевод и создание писем.

📧Автоматизация работы с электронной почтой: Автоответ (доступен для POP и IMAP) / Планирование отправки писем / Авто Копия/Скрытая копия по правилам при отправке писем / Автоматическое перенаправление (расширенное правило) / Автоматическое добавление приветствия / Автоматическое разделение писем с несколькими получателями на отдельные сообщения

📨Управление электронной почтой: Отозвать письмо / Блокировка спама по теме и другим признакам / Удаление дубликатов писем / Расширенный поиск / Организация папок

📁Продвинутая работа с вложениями: Пакетное сохранение / Пакетное отсоединение / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие

🌟Волшебство интерфейса: 😊Еще больше красивых и стильных эмодзи / Напоминание о важных входящих письмах / Сворачивание Outlook вместо закрытия

👍Чудеса одним щелчком: Ответить всем с вложениями / Защита от фишинговых писем / 🕘Отображение часового пояса: текущее время отправителя

👩🏼‍🤝‍👩🏻Контакты и календарь: Пакетное добавление контактов из выбранных писем / Разделение группы контактов на отдельные группы / Удаление напоминания о дне рождения

Используйте Kutools на вашем любимом языке — поддержка английского, испанского, немецкого, французского, китайского и более чем 40 других языков!

Мгновенно получите доступ к Kutools для Outlook одним щелчком! Не теряйте время — скачайте прямо сейчас и повысьте свою эффективность!

kutools for outlook features1kutools for outlook features2

🚀 Скачать одним щелчком — Получите все надстройки для Office

Настоятельно рекомендуется: Kutools for Office (5 в 1)

Скачайте одним щелчком пять установщиковсразу —Kutools для Excel, Outlook, Word, PowerPointи Office Tab Pro.Нажмите, чтобы скачать прямо сейчас!

  • Удобство одним щелчком: Скачайте все пять установочных пакетов за одно действие.
  • 🚀Готовы к любой задаче в Office: устанавливайте нужные надстройки именно тогда, когда они вам понадобятся.
  • 🧰Входит в комплект: Kutools для Excel / Kutools для Outlook / Kutools для Word / Office Tab Pro / Kutools for PowerPoint