Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Siluvia Last modified

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

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


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

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

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

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

using vba to change signature based on recipients automatically with code

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

using vba to change signature based on recipients automatically with VBA code

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

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

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

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

using vba to change signature based on recipients automatically with VBA code

Код 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 и Среда выполнения сценариев Microsoft, а затем нажмите кнопку ОК, см. скриншот:

using vba to change signature based on recipients automatically with VBA code

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

С этого момента после написания письма и нажатия кнопки Отправить соответствующая подпись будет автоматически вставлена в конец текста письма на основе адреса электронной почты получателя в поле Кому.


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

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

using vba to change signature based on recipients automatically with VBA code


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

Срочные новости: бесплатная версия Kutools для Outlook уже доступна!

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

🤖 Kutools AI : Использует передовые технологии искусственного интеллекта для легкой работы с Email — включая Ответ, Резюме, Оптимизацию, Расширение, Перевод и Составление писем.

📧 Автоматизация Email: Автоответчик (Доступно для POP и IMAP) / Запланировать отправку писем / Авто Копия/Скрытая копия по правилам при отправке писем / Автоматическое перенаправление (Расширенное правило) / Автоматически добавить приветствие / Авторазделение Email с несколькими получателями на отдельные письма ...

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

📁 Вложения Pro: Пакетное сохранение / Пакетное открепление / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие ...

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

👍 Удобные функции одним кликом: Ответить всем с вложениями / Антифишинговая Email / 🕘Показать часовой пояс отправителя ...

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

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

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

kutools for outlook features1 kutools for outlook features2

🚀 Скачайте все дополнения Office одним кликом

Рекомендуем: Kutools для Office (5-в-1)

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

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