Как добавить разные подписи для нескольких учётных записей электронной почты при ответе или пересылке в Outlook?
Из руководства: Подписи электронной почты в Outlook вы узнали, как создать подпись в Outlook. Однако после создания новой подписи её придётся добавлять вручную при ответе на сообщение или его пересылке, выбирая Подпись > Созданная подпись в окне сообщения.
Конечно! Чтобы автоматически добавлять подпись Outlook при ответе на новое сообщение или его пересылке, выберите Подпись > Подписи и укажите подпись для нужной учётной записи электронной почты, как показано ниже.

А что делать, если у вас множество учётных записей и вы хотите массово назначить для каждой из них свою подпись? В этом руководстве я покажу вам простой метод на основе VBA, который легко справится с этой задачей.
Добавление разных подписей для нескольких учётных записей электронной почты при ответе или пересылке в Outlook
1. В Outlook нажмите клавиши Alt+F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. В окне Microsoft Visual Basic for Applications дважды щёлкните элемент ThisOutlookSession на панели «Проект» и скопируйте приведённый ниже код VBA в окно ThisOutlookSession (Код). См. снимок экрана:

Код VBA: Добавление разных подписей для нескольких учётных записей электронной почты при создании Новое письмо в Outlook — ThisOutlookSession
Public WithEvents GInspectors As Inspectors
Public WithEvents GExplorer As Explorer
Private Sub Application_Startup()
Set GInspectors = Application.Inspectors
Set GExplorer = Application.ActiveExplorer
End Sub
Private Sub GExplorer_InlineResponse(ByVal Item As Object)
‘Update by ExtendOffice
Dim xMail As MailItem
On Error Resume Next
EndTimer
If Item.Class = olMail Then
Set xMail = Item
Set GInspector = Nothing
Set GInspector = xMail.GetInspector
StartTimer
End If
End Sub
Private Sub GInspectors_NewInspector(ByVal Inspector As Inspector)
On Error Resume Next
EndTimer
Set GInspector = Nothing
Set GInspector = Inspector
StartTimer
End Sub 3. В окне Microsoft Visual Basic for Applications выберите Вставка > Модуль. Затем скопируйте следующий код VBA в окно модуля.

Код VBA: Добавление разных подписей для нескольких учётных записей электронной почты при ответе или пересылке в Outlook — Модуль
Public Declare PtrSafe Function SetTimer Lib "user32" (ByVal HWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As LongPtr) As Long
Public Declare PtrSafe Function KillTimer Lib "user32" (ByVal HWnd As Long, ByVal nIDEvent As Long) As Long
Public TimerID As Long
Public GInspector As Inspector
Sub StartTimer()
On Error Resume Next
TimerID = SetTimer(0&, 0&, 1000&, AddressOf TimerProc)
End Sub
Sub EndTimer()
On Error Resume Next
KillTimer 0&, TimerID
End Sub
Sub TimerProc(ByVal HWnd As Long, ByVal uMsg As Long, ByVal nIDEvent As Long, ByVal dwTimer As Long)
On Error Resume Next
Call SetSignatureToAccount
EndTimer
End Sub
Sub SetSignatureToAccount()
‘Update by ExtendOffice
Dim xMail As MailItem
Dim xSignatureFile, xSignaturePath As String
Dim xSubject As String
Dim xDoc As Document
Dim xAccount As Account
Dim xIsNew As Boolean
Dim xInspector As Inspector
Const PR_SMTP_ADDRESS As String = "http://schemas.microsoft.com/mapi/proptag/0x39FE001E"
On Error Resume Next
xSignaturePath = CreateObject("WScript.Shell").SpecialFolders(5) + "\Microsoft\Signatures\"
xSubject = GInspector.Caption
Set xDoc = GInspector.WordEditor
xIsNew = False
Set xMail = GInspector.CurrentItem
Select Case xMail.Parent.Parent
Case "name1@example.com" 'Replace the email address in double quotes
If VBA.InStr(xSubject, "RE: ") Then
xSignatureFile = xSignaturePath & "Signature1.htm" 'Replace "Signature1" with your actual signature name that you will set as the signature when you reply to a message.
ElseIf VBA.InStr(xSubject, "FW: ") Then
xSignatureFile = xSignaturePath & "Signature2.htm" 'Replace "Signature2" with your actual signature name that you will set as the signature when you forward a message.
Else
xIsNew = True
Exit Sub
End If
Case "name2@example.com" 'Replace the email address in double quotes
If VBA.InStr(xSubject, "RE: ") Then
xSignatureFile = xSignaturePath & "Signature3.htm" 'Replace "Signature3" with your actual signature name that you will set as the signature when you reply to a message.
ElseIf VBA.InStr(xSubject, "FW: ") Then
xSignatureFile = xSignaturePath & "Signature4.htm" 'Replace "Signature4" with your actual signature name that you will set as the signature when you forward a message.
Else
xIsNew = True
Exit Sub
End If
'Add more Cases for more email accounts
End Select
If xIsNew = True Then
With xDoc.Application.Selection
.WholeStory
.EndKey
.InsertParagraphAfter
.MoveDown Unit:=wdLine, Count:=1
.InsertFile FileName:=xSignatureFile, Link:=False, Attachment:=False
End With
Else
With xDoc.Application.Selection
.MoveRight Unit:=wdCharacter, Count:=1
.HomeKey Emptyparam, Emptyparam
.InsertFile FileName:=xSignatureFile, Link:=False, Attachment:=False
End With
End If
Set xDoc = Nothing
Set GInspector = Nothing
Set xMail = Nothing
End Sub - 1) Замените name1@example.com и name2@example.com в 39-й и 48-й строках на Ваши реальные адреса электронной почты.
- 2) Вам следует заменить Signature в 41-й, 43-й, 50-й и 52-й строках на ваши фактические имена подписей согласно комментариям.
- 3) С помощью приведённого выше кода VBA можно добавлять подписи для двух учётных записей электронной почты. Если у вас больше учётных записей, замените строку 57 на дополнительные операторы Case:
If VBA.InStr(xSubject, «RE: ») = 1 Then
xSignatureFile = xSignaturePath & "Signature1.htm"
ElseIf VBA.InStr(xSubject, «FW: ») = 1 Then
xSignatureFile = xSignaturePath & "Signature2.htm"
Else
xIsNew = True
Exit Sub
End If
4. В окне Microsoft Visual Basic for Applications выберите Сервис > Параметры, установите флажок рядом с Microsoft Word 16,0 Object Library и нажмите ОК.

5. Перезапустите Outlook и сохраните коды VBA.
6. Теперь при ответе на сообщение или его пересылке с учётной записи электронной почты, для которой настроена подпись, она будет добавляться автоматически.
Примечание: Если при ответе на сообщение или его пересылке с учётной записи электронной почты отображаются две подписи, нажмите Подпись > Подписи в окне сообщения. В разделе «Выбор подписи по умолчанию» выберите учётную запись с двумя подписями и установите значение (нет) в раскрывающемся списке поля «Ответы/пересылки».

Связанные статьи
Как импортировать или вставить HTML-подпись в Outlook?
Например, вы скачали несколько HTML-подписей с веб-сайтов и хотите импортировать их в Outlook. Существует ли простой способ сделать это? В этой статье пошагово описано, как импортировать или вставлять HTML-подписи в Outlook.
Как добавить цвет фона в подпись Outlook?
Добавить или удалить цвет фона в письме Outlook легко. Но как добавить или удалить цвет фона в подписи Outlook? Ниже приведены способы решения этой задачи:
Если вы хотите, чтобы Outlook автоматически добавлял подпись при создании нового сообщения, нужно настроить подпись по умолчанию: выберите «Подпись» → «Подписи» и укажите нужную подпись для конкретной учётной записи электронной почты, как показано ниже. Но что делать, если у вас множество учётных записей и вы хотите массово назначить разные подписи для всех них? В этом руководстве я покажу вам метод на основе VBA, который легко решит эту задачу.
Как настроить разные подписи для ответов и пересылок в Outlook?
Обычно в Outlook можно настроить разные подписи для разных учётных записей, но пробовали ли вы использовать отдельные подписи для ответов и пересылок? То есть чтобы при ответе на письмо автоматически вставлялась подпись 1, а при пересылке — подпись 2. Как реализовать это в Outlook?
Лучшие инструменты для повышения продуктивности в Office
Оцените совершенно новый Kutools для Outlook с 100+ потрясающими функциями!Нажмите, чтобы скачать прямо сейчас!
📧Автоматизация электронной почты: Автоответ (доступен для POP и IMAP) / Планирование отправки писем / Авто Копия/Скрытая копия по правилам при отправке писем / Автоматическое перенаправление (расширенное правило) / Автоматическое добавление приветствия / Автоматическое разделение писем с несколькими получателями на отдельные сообщения…
📨Управление электронной почтой: Отзыв письма / Блокировка мошеннических писем по темам и другим параметрам / Удаление дубликатов писем / Расширенный поиск / Организация папок…
📁Продвинутая работа с вложениями: Пакетное сохранение / Пакетное отсоединение / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие…
🌟Волшебный интерфейс: 😊Еще больше красивых и стильных эмодзи / Напоминание о важных письмах / Сворачивание Outlook вместо закрытия…
👍Чудеса в один клик: Ответить всем с вложениями / Защита от фишинговых писем / 🕘Отображение часового пояса: текущее время отправителя…
👩🏼🤝👩🏻Контакты и календарь: Пакетное добавление контактов из выбранных писем / Разделение группы контактов на отдельные / Удаление напоминания о дне рождения…
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и более чем 40 других языков!


🚀 Скачать одним кликом — Получите все надстройки для 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