Если вы добавите группы контактов в поле «Кому» текущего письма, среди них могут быть дубликаты. Эта статья научит вас, как использовать VBA для быстрого удаления повторяющихся получателей.
При составлении электронного письма, если вы не только добавляете контакты, но и группы контактов в качестве получателей, иногда могут быть некоторые дублирующиеся получатели, поскольку группы контактов по умолчанию свернуты. В этом случае, если вы хотите найти дубликаты, вы должны сначала расширить группы контактов, а затем сравнить получателей вручную, что подробно описано в моей предыдущей статье:Как удалить повторяющихся получателей из ваших электронных писем Outlook». Без всяких сомнений, это очень утомительно. Таким образом, многие пользователи жаждут быстрого способа удаления повторяющихся получателей. Далее мы научим вас получать его с помощью Outlook VBA.
Быстрое удаление повторяющихся получателей в электронной почте Outlook
- Прежде всего, запустите приложение Outlook.
- Затем перейдите на вкладку «Разработчик» и нажмите кнопку «Visual Basic» или просто нажмите клавиши «Alt + F11».
- Далее в окне «Microsoft Visual Basic для приложений» вы можете открыть пустой модуль.
- Затем скопируйте и вставьте в этот модуль следующие коды 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.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая исправить мдф и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com

