複数のOutlook電子メールの本文からすべての電子メールアドレスをすばやく抽出する方法

今すぐ共有:

多くのユーザーは、Outlook電子メールの本文または複数の電子メールからすべての電子メールアドレスを迅速に抽出する方法を切望しています。 したがって、この記事ではこの問題を検討し、VBAを使用する簡単な方法を紹介します。

本文にメールアドレスのリストが含まれているメールを誰かが送信した場合、連絡先フォルダなどに追加するなどの理由でこれらのメールアドレスを利用する場合は、最初に本文内のすべてのメールアドレスを抽出する必要があります。 。 したがって、以下では、VBAでそれを実現する方法を示します。

複数のOutlook電子メールの本文からすべての電子メールアドレスをすばやく抽出する

複数のOutlook電子メールの本文からすべての電子メールアドレスを抽出します

  1. 最初に、Outlookアプリケーションを起動します。
  2. 次に、Outlookのメインウィンドウに入った後、「Alt + F11」キーを押すことができます。
  3. 次に、新しい「Microsoft Visual Basic for Applications」ウィンドウで、未使用のモジュールを開くか、単に新しいモジュールを挿入する必要があります。
  4. 後で、次のVBAコードをコピーしてこのモジュールに貼り付ける必要があります。
Sub ExtractEmailAddresses_BodyofMultipleEmails()
    Dim objSelection As Outlook.Selection
    Dim objMail As Outlook.MailItem
    Dim i, n As Long
    Dim objWordApp As Word.Application
    Dim objWordDocument As Word.Document
    Dim strEmailAddresses As String
    Dim objFileSystem As Object
    Dim strTextFile As String
    Dim objTextFile As Object
 
    Set objSelection = Outlook.Application.ActiveExplorer.Selection
 
    If Not (objSelection Is Nothing) Then
 
       i = 0
       n = 1
       On Error Resume Next
       For i = objSelection.count To 1 Step -1
           Set objMail = objSelection.Item(i)
 
           objMail.Display
 
           Set objWordDocument = objMail.GetInspector.WordEditor
           Set objWordApp = objWordDocument.Application
           Set objSearchRange = objWordDocument.Range

           'Find the email addresses via wildcards
           With objWordApp.Selection.Find
                .Text = "[A-z,0-9]{1,}\@[A-z,0-9,.]{1,}"
                .MatchWildcards = True
                .Execute
           End With
 
           While objWordApp.Selection.Find.Found
                 'Get a list of email addresses in the body
                 strEmailAddresses = strEmailAddresses & n & ": " & objWordApp.Selection.Text & vbCrLf
                 objWordApp.Selection.Find.Execute
                 n = n + 1
           Wend
           objMail.Close olDiscard
      Next
    End If
 
    'Create a new Text file
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    strTextFile = "E:\Extracted Email Addresses-" & Format(Date, "YYYYMMDD") & ".txt"
    Set objTextFile = objFileSystem.CreateTextFile(strTextFile, True)
 
    'Input the list of extracted email addresses into this Text file
    objTextFile.WriteLine (strEmailAddresses)
    objTextFile.Close
 
    MsgBox "Completed!", vbInformation, "Extract Email Addresses"
End Sub

VBAコード-複数のOutlook電子メールの本文からすべての電子メールアドレスを抽出します

  1. 後で、現在のVBAエディターウィンドウを終了して、クイックアクセスツールバーに新しいマクロを追加し続けることができます。
  2. その後、Outlookマクロのセキュリティレベルを低に変更する必要があります。
  3. 最後に、試してみることができます。
  • まず、電子メールリストで、複数のOutlook電子メールを選択します。その本文から電子メールアドレスを抽出する必要があります。
  • 次に、クイックアクセスツールバーの新しいボタンをクリックします。メールを選択してマクロを実行
  • 「完了しました」というメッセージが表示されたら、VBAコードの事前定義されたフォルダーに移動して、新しい.TXTファイルを見つけることができます。
  • このファイルを開くと、次のスクリーンショットに示すように、抽出されたすべての電子メールアドレスが表示されます。抽出された電子メールアドレス

悪意のあるマクロからOutlookを保護する

すべてのマクロを許可するようにOutlookを設定した場合は、不明な電子メールに偽装されたすべてのマクロに注意する必要があります。 これは、Outlookの破損を直接引き起こす可能性のある、多くの隠れたウイルスが含まれている可能性があるためです。 ウイルスに感染したPSTファイルを回復することはかなり困難です。 その時、おそらくあなたの最後の手段は強力で信頼できるものです Outlookの修正 などのユーティリティ DataNumen Outlook Repair。 どんなに大きなダメージでもOutlookファイルを修復できます。

著者紹介:

Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 破損したSQL と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。