Как автоматически изменять подпись на основе получателей в 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: Отозвать письмо / Блокировать вредоносные письма по теме и другим критериям / Удалить дубликаты / Расширенный Поиск / Организовать папки ...
📁 Вложения Pro: Пакетное сохранение / Пакетное открепление / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие ...
🌟 Волшебство интерфейса: 😊Больше красивых и стильных эмодзи / Напоминание при поступлении важных писем / Свернуть Outlook вместо закрытия ...
👍 Удобные функции одним кликом: Ответить всем с вложениями / Антифишинговая Email / 🕘Показать часовой пояс отправителя ...
👩🏼🤝👩🏻 Контакты и Календарь: Пакетное добавление контактов из выбранных Email / Разделить группу контактов на отдельные / Удалить напоминание о дне рождения ...
Используйте Kutools на вашем языке – поддерживаются Английский, Испанский, Немецкий, Французский, Китайский и более40 других!


🚀 Скачайте все дополнения 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