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

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

Author: Amanda Li Last Modified: 2025-08-07

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

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

the steps of adding different signatures to multiple email accounts when reply or forward in Outlook

Однако что делать, если у вас много учетных записей электронной почты и вы хотите добавить разные подписи для нескольких учетных записей пакетно? В этом руководстве я представлю метод VBA, который поможет вам легко выполнить эту задачу.


Добавление разных подписей к нескольким учетным записям электронной почты при ответе или пересылке в Outlook

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

2. В окне Microsoft Visual Basic for Applications дважды щелкните по ThisOutlookSession в панели Проекта и скопируйте следующий код VBA в окно ThisOutlookSession (Код). См. скриншот:

the steps of adding different signatures to multiple email accounts when reply or forward in Outlook

Код 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 в окно Модуль.

the steps of adding different signatures to multiple email accounts when reply or forward in Outlook

Код 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) Вам нужно заменить Подпись в 41-й, 43-й, 50-й и 52-й строках на ваши реальные названия подписей согласно комментариям.
  • 3) С помощью приведенного выше кода VBA мы можем добавить подписи к двум учетным записям электронной почты. Если у вас больше учетных записей, замените 57-ю строку кода дополнительными случаями:
  • Case "name@example.com"
    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 и нажмите OK.

the steps of adding different signatures to multiple email accounts when reply or forward in Outlook

5. Перезапустите Outlook и сохраните коды VBA.

6. Теперь, когда вы отвечаете на сообщение или пересылаете его с помощью учетной записи электронной почты, для которой вы настроили подпись, соответствующая подпись будет добавлена автоматически.

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

the steps of adding different signatures to multiple email accounts when reply or forward in Outlook

Связанные статьи

Как импортировать или вставить HTML-подписи в Outlook?

Например, вы скачали несколько HTML-подписей с сайтов и хотите импортировать их в ваш Outlook. Есть ли простые способы? Эта статья проведет вас через процесс импорта или вставки HTML-подписей в Outlook пошагово.

Как вставить цвет фона в подпись Outlook?

Легко добавить или удалить цвет фона в электронном письме в Outlook. Но как вставить или удалить цвет фона в подписи Outlook? Ниже представлены обходные пути, которые помогут вам решить эту проблему:

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

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

Как установить разные подписи для ответов и пересылок в Outlook?

Обычно вы можете установить разные подписи для разных учетных записей в вашем Outlook, но пробовали ли вы применять разные подписи для ответов и пересылок? Это означает, что при ответе на письмо вставляется подпись1, а при пересылке письма применяется подпись2. Как можно решить эту задачу в Outlook?


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

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

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

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

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

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

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

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

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

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

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

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

kutools for outlook features1 kutools for outlook features2