Перейти к основному содержанию

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

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

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

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


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

1. В Outlook нажмите кнопку другой + F11 клавиши, чтобы открыть окно Microsoft Visual Basic для приложений.

2. В окне Microsoft Visual Basic для приложений дважды щелкните Эта сессия Outlook на панели «Проект» и скопируйте приведенный ниже код 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 для приложений щелкните Вставить > Модули. Затем скопируйте следующий код 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 "" '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 "" '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) Вам следует заменить и в 39-й и 48-й строках на ваши фактические адреса электронной почты.
  • 2) Вы должны заменить Signature1 и Signature2 в 45-й и 54-й строках к вашим фактическим именам подписи.
  • 3) С помощью приведенного выше кода VBA мы можем добавить подписи к двум учетным записям электронной почты. Если у вас больше учетных записей, замените 57-ю строку кода дополнительными делами:
  • Случай ""
    Если VBA.InStr(xSubject, "RE:") = 1 Тогда
    Exit Sub
    ElseIf VBA.InStr(xSubject, "FW:") = 1 Тогда
    Exit Sub
    Еще
    xSignatureFile = xSignaturePath и "Signature.htm"
    xIsNew = Истина
    End If

4. В окне Microsoft Visual Basic для приложений щелкните Инструменты > Рекомендацииустановите флажок рядом с Библиотека объектов Microsoft Word 16.0и нажмите OK.

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

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

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


Статьи по теме

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

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

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

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

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

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

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

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


Лучшие инструменты для офисной работы

Kutools for Outlook - Более 100 мощных функций для улучшения вашего Outlook

🤖 Почтовый помощник с искусственным интеллектом: Мгновенные профессиональные электронные письма с помощью магии искусственного интеллекта: гениальные ответы одним щелчком мыши, идеальный тон, многоязычное владение. Преобразуйте электронную почту без особых усилий! ...

???? Автоматизация электронной почты: Нет на месте (доступно для POP и IMAP)  /  Расписание отправки писем  /  Автоматическое копирование/скрытая копия по правилам при отправке электронной почты  /  Автопересылка (расширенные правила)   /  Автоматическое добавление приветствия   /  Автоматически разделять электронные письма от нескольких получателей на отдельные сообщения ...

📨 Управление электронной почтой: Легко вспоминать электронные письма  /  Блокировка мошеннических писем от субъектов и других лиц  /  Удалить повторяющиеся электронные письма  /  Поиск  /  Объединение папок ...

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

???? Магия интерфейса: 😊Больше красивых и крутых смайлов   /  Повысьте производительность Outlook с помощью представлений с вкладками  /  Свернуть Outlook вместо закрытия ...

???? Чудеса в один клик: Ответить всем с входящими вложениями  /   Антифишинговые письма  /  🕘Показать часовой пояс отправителя ...

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

Более Особенности 100 Ждем вашего исследования! Нажмите здесь, чтобы узнать больше.

 

 

Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi,
I tried to initiate this settings in my outlook for changing the signature automatically, but it doesn't function.

the signature stays the same while using different email accounts.

any idea why ?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations