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

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

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

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

Автоматическая смена подписи в зависимости от получателей с помощью кода VBA


Автоматическая смена подписи в зависимости от получателей с помощью кода VBA

Следуйте приведённым ниже шагам, чтобы использовать разные подписи для разных получателей при отправке писем в Outlook.

1. Сначала отключите функцию автоматического добавления подписи в Outlook. Для этого нажмите Файл > Параметры, чтобы открыть окно Параметры Outlook.

2. В окне Параметры Outlook выберите Почта на левой панели, затем нажмите кнопку Подписи в разделе Создание сообщений. См. скриншот:

использование VBA для автоматического изменения подписи в зависимости от получателей с помощью кода

3. В диалоговом окне Подписи и оформление перейдите на вкладку Выбор подписи по умолчанию в разделе Подпись электронной почты, выберите учётную запись электронной почты в раскрывающемся списке Учётная запись электронной почты и установите значение (нет) в раскрывающихся списках полей Новые сообщения и Ответы/пересылки. Повторяйте эти действия, пока все учётные записи не будут установлены в значение (нет). Затем нажмите кнопку ОК.

использование VBA для автоматического изменения подписи в зависимости от получателей с помощью кода VBA

Примечание: В этом диалоговом окне Подписи и оформление вы также можете создать необходимые подписи.

4. Нажмите кнопку ОК, когда вернётесь в окно Параметры Outlook.

5. Нажмите клавиши Alt+F11, чтобы открыть окно Microsoft Visual Basic для приложений.

6. В окне Microsoft Visual Basic для приложений дважды щёлкните элемент ThisOutlookSession на левой панели, чтобы открыть окно кода, и вставьте в него приведённый ниже код VBA. См. скриншот:

использование VBA для автоматического изменения подписи в зависимости от получателей с помощью кода VBA

Код VBA: Автоматическая смена подписи в зависимости от получателей в Outlook

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
'Updated by ExtendOffice 2022/08/01
Dim xMailItem As MailItem
Dim xRecipients As Recipients
Dim xRecipient As Recipient
Dim xRcpAddress As String
Dim xSignatureFile, xSignaturePath As String
Dim xFSO As Scripting.FileSystemObject
Dim xDoc As Document
Dim xFindStr As String
On Error Resume Next
Set xFSO = New Scripting.FileSystemObject
If Item.Class <> olMail Then Exit Sub
Set xMailItem = Item
Set xRecipients = xMailItem.Recipients
xSignaturePath = CreateObject("WScript.Shell").SpecialFolders(5) + "\Microsoft\Signatures\"
For Each xRecipient In xRecipients
    If xRecipient.AddressEntry.AddressEntryUserType = olExchangeUserAddressEntry Then
        xRcpAddress = xRecipient.AddressEntry.GetExchangeUser.PrimarySmtpAddress
    Else
        xRcpAddress = xRecipient.AddressEntry.Address
    End If
    Select Case xRcpAddress
        Case "Email Address 1"
            xSignatureFile = xSignaturePath & "aaa.htm"
            Exit For
        Case "Email Address 2", "Email Address 3"
            xSignatureFile = xSignaturePath & "bbb.htm"
            Exit For
        Case "Email Address 4"
            xSignatureFile = xSignaturePath & "ccc.htm"
            Exit For
    End Select
Next
VBA.DoEvents
Set xDoc = xMailItem.GetInspector.WordEditor
xFindStr = "From: " & xMailItem.Recipients.Item(1).Name & " <" & xRcpAddress & ">"
If VBA.InStr(1, xMailItem.Body, xFindStr) <> 0 Then
    xDoc.Application.Selection.HomeKey Unit:=wdStory, Extend:=wdMove
    With xDoc.Application.Selection.Find
        .ClearFormatting
        .Text = xFindStr
        .Execute Forward:=True
    End With
    With xDoc.Application.Selection
        .MoveLeft wdCharacter, 2
        .InsertParagraphAfter
        .MoveDown Unit:=wdLine, Count:=1
    End With
Else
    With xDoc.Application.Selection
        .EndKey Unit:=wdStory, Extend:=wdMove
        .InsertParagraphAfter
        .MoveDown Unit:=wdLine, Count:=1
    End With
End If
xDoc.Application.Selection.InsertFile FileName:=xSignatureFile, Link:=False, Attachment:=False
End Sub

Примечания:

  • 1). В коде VBA замените «Адрес электронной почты 1/2/3/4» на соответствующие адреса электронной почты получателей.
  • 2). «aaa.htm», «bbb.htm» и «ccc.htm» — это указанные подписи, которые будут отправлены соответствующим получателям.
  • 3). В этом случае подпись «aaa» будет отправлена на «Адрес электронной почты 1», подпись «bbb» — на «Адрес электронной почты 2» и «Адрес электронной почты 3», а «Адрес электронной почты 4» получит письмо со вложенной подписью «ccc». Пожалуйста, настройте их в соответствии со своими потребностями.
  • 4). Если в письме указано несколько получателей, код учитывает только первого из них, поэтому остальные получатели получат письма с той же подписью, что и у первого.

7. Затем нажмите Сервис > Ссылки, чтобы открыть диалоговое окно Ссылки — Проект. В этом окне установите флажки напротив пунктов Microsoft Word Object Library и Microsoft Scripting Runtime, после чего нажмите кнопку ОК. См. скриншот:

использование VBA для автоматического изменения подписи в зависимости от получателей с помощью кода VBA

8. Нажмите клавиши Alt+Q, чтобы закрыть окно Microsoft Visual Basic для приложений.

Теперь после составления письма и нажатия кнопки «Отправить» подпись будет автоматически добавлена в конец письма в зависимости от адреса электронной почты получателя, указанного в поле «Кому».


Автоматическая вставка текущей даты в качестве подписи при отправке электронного письма в Outlook:

Если вы хотите автоматически вставлять метку времени в качестве подписи в тело письма при создании, ответе или пересылке нового сообщения в Outlook, активируйте опцию Добавлять подпись с датой при создании нового письма, ответе и пересылке в Kutools для Outlook, чтобы воспользоваться этой функцией. См. скриншот:
Скачайте и попробуйте прямо сейчас (30-дневная бесплатная пробная версия)

использование VBA для автоматического изменения подписи в зависимости от получателей с помощью кода VBA


Лучшие инструменты для повышения продуктивности в 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