Как автоматически изменять подпись на основе получателей в Outlook?
По умолчанию в Outlook есть встроенная функция, позволяющая пользователям автоматически изменять подпись при отправке писем через разные учетные записи электронной почты. Но помимо этого, здесь я покажу вам метод автоматического изменения подписи на основе различных получателей в поле «Кому» в Outlook.
Изменение подписи на основе получателей автоматически с помощью кода VBA
Изменение подписи на основе получателей автоматически с помощью кода VBA
Пожалуйста, следуйте приведенным ниже шагам, чтобы применить различные подписи к соответствующим получателям при отправке писем в Outlook.
1. Сначала вам нужно отключить функцию автоматического добавления подписи в Outlook. Пожалуйста, нажмите Файл > Параметры, чтобы открыть окно параметров Outlook.
2. В окне параметров Outlook выберите Почта в левой панели, затем нажмите кнопку Подписи в разделе Создание сообщений. Смотрите скриншот:

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

Примечание: Вы также можете создать необходимые подписи в этом диалоговом окне Подписи и бланки.
4. Нажмите кнопку ОК, когда вернетесь в окно параметров Outlook.
5. Нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
6. В окне Microsoft Visual Basic for Applications дважды щелкните ThisOutlookSession в левой панели, чтобы открыть окно Код, и скопируйте приведенный ниже код 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 и Среда выполнения сценариев Microsoft, а затем нажмите кнопку ОК, см. скриншот:

8. Нажмите клавиши Alt + Q, чтобы закрыть окно Microsoft Visual Basic for Applications.
С этого момента после написания письма и нажатия кнопки Отправить соответствующая подпись будет автоматически вставлена в конец текста письма на основе адреса электронной почты получателя в поле Кому.
Автоматическая вставка текущей даты как подписи при отправке письма в Outlook:
Если вы хотите вставить отметку времени как подпись в текст письма при создании/ответе/пересылке нового письма в вашем Outlook, вы можете включить Добавить подпись с датой при создании нового, ответе и пересылке письма опцию Kutools для Outlook для достижения этой цели. Смотрите скриншот:
Скачайте и попробуйте прямо сейчас (30-дневный бесплатный пробный период)

Лучшие инструменты для повышения продуктивности в Office
Срочные новости: Выпущена бесплатная версия Kutools для Outlook!
Оцените совершенно новый Kutools для Outlook с более чем100 потрясающими функциями! Нажмите, чтобы скачать сейчас!
📧 Автоматизация Email: Автоответчик (доступно для POP и IMAP) / Запланировать отправку Email / Авто Копия/Скрытая копия по правилу при отправке письма / Автоматическое перенаправление (Расширенное правило) / Автоматически добавить приветствие / Автоматическое разделение Email с несколькими получателями на отдельные сообщения ...
📨 Управление Email: Отозвать письмо / Блокировать мошеннические Email по теме и другим признакам / Удалить дубликаты писем / Расширенный Поиск / Организовать папки ...
📁 Вложения Pro: Пакетное сохранение / Пакетное открепление / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие ...
🌟 Магия интерфейса: 😊Больше красивых и современных Эмодзи / Напоминания о важных письмах / Сворачивание Outlook вместо закрытия ...
👍 Мгновенные действия в один клик: Ответить всем с вложениями / Антифишинг Email / 🕘Показать часовой пояс отправителя ...
👩🏼🤝👩🏻 Контакты и Календарь: Пакетное добавление контактов из выбранных Email / Разделить группу контактов на отдельные группы / Удалить напоминание о дне рождения ...
Используйте Kutools на вашем любимом языке – поддерживается английский, испанский, немецкий, французский, китайский и более40 других языков!