如果您在當前電子郵件的“收件人”字段中添加聯繫人組,其中可能會有一些重複的組。 本文將教你如何使用VBA快速刪除重複的收件人。
在撰寫郵件時,如果不僅添加了聯繫人,還添加了聯繫人組作為收件人,有時可能會出現一些重複的收件人,因為默認情況下聯繫人組是折疊的。 在這種情況下,如果要找出重複的,就必須先擴大聯繫人組,然後手動比較收件人,這在我之前的文章中已經詳細介紹過——”如何從Outlook電子郵件中刪除重複的收件人”。 毫無疑問,這是非常乏味的。 因此,許多用戶渴望一種快速刪除重複收件人的方法。 下面,我們將教您使用 Outlook VBA 來獲取它。

快速刪除 Outlook 電子郵件中的重複收件人
- 首先,啟動Outlook應用程序。
- 然後切換到“開發人員”選項卡並單擊“Visual Basic”按鈕或只需按“Alt + F11”鍵。
- 接下來在“Microsoft Visual Basic for Applications”窗口中,您可以打開一個空白模塊。
- 隨後,將以下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 宏安全級別設置為低。
- 最後,您可以嘗試一下。
- 首先,像往常一樣寫一封電子郵件。
- 然後在“收件人”字段中添加聯繫人組和聯繫人。
- 接下來,您可以單擊快速訪問工具欄中的新宏按鈕。
- Outlook 將立即自動展開聯繫人組,然後刪除重複的收件人。
保護您寶貴的 Outlook 數據
由於 Outlook 容易崩潰,您的 Outlook 數據容易損壞。 因此,您必須付出很多努力來保護您的 Outlook 文件。 首先,您需要定期備份您的 PST 文件。 它將促進 損壞的PST 修理。 另外,你最好準備一個功能強大的修復工具,比如 DataNumen Outlook Repair.
作者簡介:
Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 mdf修復 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM
