KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как проверить адреса получателей перед отправкой письма в Outlook?

АвторSunДата изменения

Иногда вы можете забыть добавить важных получателей в поля «Кому», «Копия» или «Скрытая копия» при отправке письма через Outlook. В таком случае я предлагаю метод, позволяющий проверить, были ли указанные адреса электронной почты добавлены перед отправкой.

Проверка адресов перед отправкой с помощью кода VBA


Проверка адресов перед отправкой с помощью кода VBA

Предлагаем два варианта кода для решения этой задачи — выберите тот, который лучше соответствует вашим потребностям.

1. Нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Дважды щёлкните элемент ThisOutlookSession на панели Project1, чтобы открыть редактор кода, и вставьте в него приведённый ниже код.

VBA: проверка адреса получателя в поле «Кому» перед отправкой

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
'UpdatebyExtendoffice20180523
Dim xAddressArr() As Variant
Dim xAddress As String
Dim xRecipient As Recipient
Dim xPrompt As String
Dim xYesNo As Integer
Dim xDictionary As Scripting.Dictionary
On Error Resume Next
Set xDictionary = New Scripting.Dictionary
xAddressArr = Array("example1@126.com", "example2@126.com", "example3@126.com")
For i = LBound(xAddressArr) To UBound(xAddressArr)
    xDictionary.Add xAddressArr(i), True
Next i
For Each xRecipient In Item.Recipients
    If xRecipient.Type = olTo Then
        If xDictionary.Exists(xRecipient.Address) Then xDictionary.Remove xRecipient.Address
    End If
Next
If xDictionary.Count = 0 Then GoTo L1
For i = 0 To xDictionary.Count - 1
    If xAddress = "" Then
        xAddress = xDictionary.Keys(i)
    Else
        xAddress = xAddress + "; " & xDictionary.Keys(i)
    End If
Next i
xPrompt = "You are not sending this to: " & xAddress & ". Are you sure you want to send the Mail?"
xYesNo = MsgBox(xPrompt, vbQuestion + vbYesNo, "Kutools for Outlook")
If xYesNo = vbNo Then Cancel = True
L1:
  Set xRecipient = Nothing
  Set xDictionary = Nothing
End Sub

doc проверка адреса получателя перед отправкой 1

В коде вы можете заменить («example1@126.com», «example2@126.com», «example3@126.com») на реальные адреса получателей, которых нужно проверять.

3. Затем в том же окне Microsoft Visual Basic for Applications выберите пункт меню Сервис > Ссылки. В диалоговом окне Ссылки – Project1 установите флажок напротив пункта Microsoft Scripting Runtime.

doc проверка адреса получателя перед отправкой 2doc стрелка вправоdoc проверка адреса получателя перед отправкой 3

4. Нажмите кнопку ОК и сохраните код.

Теперь, если указанные получатели отсутствуют в поле «Кому» при отправке письма, появится диалоговое окно с напоминанием подтвердить отправку сообщения.
doc проверка адреса получателя перед отправкой 4

Приведённый выше код проверяет наличие адреса электронной почты только в поле «Кому». Если вы хотите выполнять проверку в полях «Кому», «Копия» и «Скрытая копия», используйте приведённый ниже код.

VBA: проверка адреса получателя в полях «Кому»/«Копия»/«Скрытая копия» перед отправкой

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
'UpdatebyExtendoffice20180523
Dim xRecipients As Outlook.Recipients
Dim xRecipient As Outlook.Recipient
Dim xPos As Integer
Dim xYesNo As Integer
Dim xPrompt As String
Dim xAddress As String
On Error Resume Next
If Item.Class <> olMail Then Exit Sub
Set xRecipients = Item.Recipients
xAddress = "example1@gmail.com"
For Each xRecipient In xRecipients
    xPos = InStr(LCase(xRecipient.Address), xAddress)
    If xPos = 0 Then
        xPrompt = "You sending this to " & xAddress & ". Are you sure you want to send it?"
        xYesNo = MsgBox(xPrompt, vbYesNo + vbQuestion + 4096, "Kutools for Outlook")
        If xYesNo = vbNo Then Cancel = True
    End If
Next xRecipient
End Sub

При использовании этого кода не нужно устанавливать флажок Microsoft Scripting Runtime — достаточно просто сохранить код, и изменения вступят в силу.

AI Mail Assistant в Outlook: умнее ответы, яснее общение (волшебство одним щелчком!)

Оптимизируйте повседневные задачи в Outlook с помощью AI Mail Assistant от Kutools для Outlook — мощного инструмента, который анализирует ваши прошлые письма, чтобы предлагать умные и точные ответы, улучшать содержание сообщений и помогать легко создавать и редактировать тексты.
doc обработка электронной почты с ИИ

Эта функция поддерживает:

  • Умные ответы: получайте персонализированные, точные и готовые к отправке ответы, созданные на основе вашей прошлой переписки.
  • Улучшенное содержание: автоматически повышайте ясность и выразительность текста письма.
  • Легкое составление: просто укажите ключевые слова, а ИИ сделает всё остальное — с несколькими стилями письма на выбор.
  • Интеллектуальные расширения: развивайте свои идеи с помощью контекстно-зависимых предложений.
  • Суммаризация: мгновенно получайте краткие обзоры длинных писем.
  • Глобальный охват: легко переводите свои письма на любой язык.

Эта функция поддерживает:

  • Умные ответы на письма
  • Оптимизированное содержание
  • Черновики по ключевым словам
  • Интеллектуальное расширение содержания
  • Суммаризация писем
  • Многоязыковой перевод

Не ждите —скачайте AI Mail Assistant прямо сейчас и наслаждайтесь!


Лучшие инструменты для повышения продуктивности в Office

Оцените совершенно новый Kutools для Outlook с 100+ потрясающими функциями!Нажмите, чтобы скачать прямо сейчас!

🤖KUTOOLS AI:Использует передовые технологии ИИ для удобной работы с электронной почтой: ответы, составление резюме, оптимизация, расширение, перевод и создание писем.

📧Автоматизация работы с электронной почтой: Автоответ (доступен для POP и IMAP) / Планирование отправки писем / Авто Копия/Скрытая копия по правилам при отправке писем / Автоматическое перенаправление (расширенное правило) / Автоматическое добавление приветствия / Автоматическое разделение писем с несколькими получателями на отдельные сообщения…

📨Управление электронной почтой: Отозвать письмо / Блокировка спама по теме и другим признакам / Удаление дубликатов писем / Расширенный поиск / Организация папок…

📁Продвинутая работа с вложениями: Пакетное сохранение / Пакетное отсоединение / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие…

🌟Волшебство интерфейса: 😊Еще больше красивых и стильных эмодзи / Напоминание о важных входящих письмах / Сворачивание Outlook вместо закрытия…

👍Чудеса одним щелчком: Ответить всем с вложениями / Защита от фишинговых писем / 🕘Отображение часового пояса: текущее время отправителя…

👩🏼‍🤝‍👩🏻Контакты и календарь: Пакетное добавление контактов из выбранных писем / Разделение группы контактов на отдельные группы / Удаление напоминания о дне рождения…

Используйте Kutools на вашем любимом языке — поддержка английского, испанского, немецкого, французского, китайского и более чем 40 других языков!

Мгновенно получите доступ к Kutools для Outlook одним щелчком! Не теряйте время — скачайте прямо сейчас и повысьте свою эффективность!

kutools for outlook features1kutools for outlook features2

🚀 Скачать одним щелчком — Получите все надстройки для Office

Настоятельно рекомендуется: Kutools for Office (5 в 1)

Скачайте одним щелчком пять установщиковсразу —Kutools для Excel, Outlook, Word, PowerPointи Office Tab Pro.Нажмите, чтобы скачать прямо сейчас!

  • ✅Удобство одним щелчком: Скачайте все пять установочных пакетов за одно действие.
  • 🚀Готовы к любой задаче в Office: устанавливайте нужные надстройки именно тогда, когда они вам понадобятся.
  • 🧰Входит в комплект: Kutools для Excel / Kutools для Outlook / Kutools для Word / Office Tab Pro / Kutools for PowerPoint