VBAを使用してOutlookの電子メールから重複する受信者をすばやく削除する方法

今すぐ共有:

現在の電子メールの「宛先」フィールドに連絡先グループを追加すると、それらの中に重複するものがいくつかある可能性があります。 この記事では、VBAを使用して重複する受信者をすばやく削除する方法について説明します。

メールを作成する際に、連絡先だけでなく連絡先グループも受信者として追加すると、デフォルトで連絡先グループが折りたたまれているため、受信者が重複する場合があります。 この場合、重複しているものを見つけたい場合は、最初に連絡先グループを展開してから、受信者を手動で比較する必要があります。これについては、前回の記事で詳しく説明しました。「Outlookの電子メールから重複する受信者を削除する方法」。 間違いなく、それは非常に退屈です。 そのため、多くのユーザーは、重複する受信者をすばやく削除する方法を望んでいます。 以下では、OutlookVBAでそれを取得する方法を説明します。

VBAを使用してOutlookの電子メールから重複する受信者をすばやく削除する

Outlookの電子メールで重複する受信者をすばやく削除する

  1. まず、Outlookアプリケーションを起動します。
  2. 次に、「開発者」タブに切り替えて「Visual Basic」ボタンをクリックするか、「Alt + F11」キーを押します。
  3. 次に、「Microsoft Visual Basic for Applications」ウィンドウで、空のモジュールを開くことができます。
  4. 続いて、次のVBAコードをコピーしてこのモジュールに貼り付けます。
Sub RemoveDuplicateRecipients()
    Dim objCurrentMail As MailItem
    Dim objRecipients As Recipients
    Dim ContactGroupFound As Boolean
    Dim i, n As Long
 
    Set objCurrentMail = ActiveInspector.CurrentItem
    ContactGroupFound = True
 
    While ContactGroupFound = True
          Set objRecipients = objCurrentMail.Recipients
          ContactGroupFound = False
 
          'Expand the contact groups in "To" field
          For i = objRecipients.Count To 1 Step -1
              If objRecipients(i).AddressEntry.DisplayType <> olUser Then
                 For n = 1 To objRecipients(i).AddressEntry.Members.Count
                     If objRecipients(i).AddressEntry.Members.Item(n).DisplayType = olUser Then
                        objCurrentMail.Recipients.Add (objRecipients(i).AddressEntry.Members.Item(n).Address)
                     Else
                        objCurrentMail.Recipients.Add (objRecipients(i).AddressEntry.Members.Item(n).Name)
                        ContactGroupFound = True
                     End If
                 Next
                 objRecipients(i).Delete
              End If
          Next i
          objRecipients.ResolveAll
    Wend
 
    'Remove the duplicate recipients
    For i = objRecipients.Count To 1 Step -1
        For n = (i - 1) To 1 Step -1
            If objRecipients(i).Address = objRecipients(n).Address Then
               objRecipients(i).Delete
               Exit For
            End If
        Next
    Next
End Sub

VBAコード-Outlookの電子メールから重複する受信者を削除する

  1. その後、メッセージウィンドウのクイックアクセスツールバーで新しいVBAプロジェクトを追加できます。
  2. 後で、Outlookマクロのセキュリティレベルを低く設定する必要があります。
  3. 最後に、試してみることができます。
  • まず、いつものようにメールを作成します。
  • 次に、「宛先」フィールドに連絡先グループと連絡先を追加します。
  • 次に、クイックアクセスツールバーの新しいマクロボタンをクリックできます。
  • すぐに、Outlookは連絡先グループを自動的に展開し、重複する受信者を削除します。

貴重なOutlookデータを保護する

Outlookはクラッシュする傾向があるため、Outlookデータは破損する可能性があります。 したがって、Outlookファイルを保護するために多くの努力をする必要があります。 まず、PSTファイルを定期的にバックアップする必要があります。 それは容易になります 破損したPST 修復。 さらに、次のような強力な修正ツールを手元に用意しておくことをお勧めします。 DataNumen Outlook Repair.

著者紹介:

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

今すぐ共有:

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