OutlookのXNUMXつ以上の電子メールから送信者の電子メールアドレスを取得するにはどうすればよいですか?
Outlookで受信したXNUMXつ以上の電子メールの「差出人」フィールドから電子メールアドレスを抽出しようとしたことがありますか。 この記事では、このタスクの処理に役立つVBAコードを提供します。
OutlookのXNUMXつ以上の電子メールから送信者の電子メールアドレスを取得します
次のVBAコードを実行して、Outlookで受信したXNUMXつ以上の電子メールの[差出人]フィールドから電子メールアドレスを抽出してください。
1.電子メールフォルダを開き、送信者の電子メールアドレスを取得する電子メールメッセージを選択します。 を押します 他の + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。
ヒント:複数のメールを選択するには、 Ctrlキー キーを押してから、メールをXNUMXつずつ選択します。
2。 の中に アプリケーション向け Microsoft Visual Basic ウィンドウ、クリック インセット > モジュール次に、次のVBAコードを[モジュール(コード)]ウィンドウにコピーします。
VBAコード:OutlookのXNUMXつ以上の電子メールから送信者の電子メールアドレスを抽出します
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スクリプトランタイム 内箱 参照– Project1 ダイアログボックス。
4。 プレス F5 コードを実行するためのキー。 次に、 Kutools for Outlook ダイアログボックスが表示され、選択した電子メールのすべての送信者の電子メールアドレスが一覧表示されます。
ヒント:
5。 をクリックすると 有り ボタン、 フォルダを参照 ダイアログボックスが表示されます。 ファイルを保存するフォルダを選択して、 OK
6.最後に、 Kutools for Outlook ダイアログボックスがポップアップ表示され、エクスポートされたファイルのパスが示されます。 クリック OK それを閉じる。
7.エクスポートされたファイルが保存されているフォルダーに移動し、次の名前の.txtファイルを開きます。 営業所 選択したメールの送信者のメールアドレスを確認します。
最高のオフィス生産性向上ツール
Kutools for Outlook - Outlook を強化する 100 以上の強力な機能
🤖 AIメールアシスタント: AI の魔法を備えたインスタント プロのメール - ワンクリックで天才的な返信、完璧な口調、多言語の習得。メールを簡単に変革しましょう! ...
📧 自動メール: 不在時 (POP および IMAP で利用可能) / メール送信のスケジュール設定 / メール送信時のルールによる自動CC/BCC / 自動転送 (高度なルール) / あいさつを自動追加 / 複数受信者の電子メールを個別のメッセージに自動的に分割する ...
📨 電子メール管理: メールを簡単に思い出す / 件名などで詐欺メールをブロック / 重複するメールを削除する / 高度な検索 / フォルダーを統合する ...
📁 アタッチメント プロ: バッチ保存 / バッチデタッチ / バッチ圧縮 / 自動保存 / 自動デタッチ / 自動圧縮 ...
🌟 インターフェースマジック: 😊もっと可愛くてクールな絵文字 / タブ付きビューで Outlook の生産性を向上 / Outlook を閉じる代わりに最小化する ...
???? ワンクリックの驚異: 受信した添付ファイルをすべてに返信する / フィッシングメール対策 / 🕘送信者のタイムゾーンを表示 ...
👩🏼🤝👩🏻 連絡先とカレンダー: 選択したメールから連絡先を一括追加 / 連絡先グループを個別のグループに分割する / 誕生日のリマインダーを削除する ...
オーバー 100の特長 あなたの探索をお待ちしています! ここをクリックして詳細をご覧ください。