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

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

Код 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: ") = 1 Then
Exit Sub
ElseIf VBA.InStr(xSubject, "FW: ") = 1 Then
Exit Sub
Else
xSignatureFile = xSignaturePath & "Signature1.htm" 'Replace "Signature1" with your actual signature name
xIsNew = True
End If
Case "name2@example.com" 'Replace the email address in double quotes
If VBA.InStr(xSubject, "RE: ") Then
Exit Sub
ElseIf VBA.InStr(xSubject, "FW: ") Then
Exit Sub
Else
xSignatureFile = xSignaturePath & "Signature2.htm" 'Replace "Signature2" with your actual signature name
xIsNew = True
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) Замените Signature1 и Signature2 в 45-й и 54-й строках на названия ваших реальных подписей.
- 3) С помощью приведённого выше кода VBA можно добавить подписи для двух учётных записей электронной почты. Если у вас больше учётных записей, замените строку 57 на дополнительные блоки Case:
If VBA.InStr(xSubject, «RE: ») = 1 Then
Exit Sub
ElseIf VBA.InStr(xSubject, «FW: ») = 1 Then
Exit Sub
Else
xSignatureFile = xSignaturePath & «Signature.htm»
xIsNew = True
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