Note: The other languages of the website are Google-translated. Back to English

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 コードを実行するためのキー。 次に、 Outlook用Kutools ダイアログボックスが表示され、選択した電子メールのすべての送信者の電子メールアドレスが一覧表示されます。

ヒント:

アドレスリストをtxtファイルにエクスポートする必要がある場合は、[ あり ボタン。
またはをクリックします いいえ プロセスを終了するボタン。

5。 をクリックすると あり ボタン、 フォルダを参照 ダイアログボックスが表示されます。 ファイルを保存するフォルダを選択して、 OK ボタン。

6.最後に、 Outlook用Kutools ダイアログボックスがポップアップ表示され、エクスポートされたファイルのパスが示されます。 クリック OK それを閉じる。

7.エクスポートされたファイルが保存されているフォルダーに移動し、次の名前の.txtファイルを開きます。 アドレス 選択したメールの送信者のメールアドレスを確認します。


Kutools for Outlook-100の高度な機能をOutlookにもたらし、作​​業をはるかに簡単にします!

  • 自動CC / BCC メール送信時のルールによる。 自動転送 カスタムによる複数の電子メール。 自動返信 Exchangeサーバーなし、およびより多くの自動機能...
  • BCC警告 -全員に返信しようとするとメッセージを表示する メールアドレスがBCCリストにある場合; 添付ファイルがない場合に通知する、その他の機能を思い出させる...
  • メール会話のすべての添付ファイルで(すべて)返信; 多くのメールに返信する すぐに; あいさつを自動追加 返信するとき; 件名に日付を追加...
  • 添付ファイルツール:すべてのメールのすべての添付ファイルを管理し、 自動デタッチ, すべて圧縮、すべての名前を変更、すべて保存...クイックレポート、 選択したメールを数える...
  • 強力な迷惑メール 習慣による; 重複するメールと連絡先を削除する... Outlookでよりスマートに、より速く、より良くすることができます。
ショットkutoolsの見通しkutoolsタブ1180x121
ショットkutoolsの見通しkutoolsプラスタブ1180x121
 
コメントを並べ替える
コメント (0)
まだ評価はありません。 最初に評価してください!
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所