如何在Outlook中根據收件人自動更改簽名?
默認情況下,Outlook具有內置功能,供用戶通過不同的電子郵件帳戶發送電子郵件時自動更改簽名。 但是除此之外,我將在這裡向您展示基於Outlook中“收件人”字段中的不同收件人自動更改簽名的方法。
使用VBA代碼自動根據收件人更改簽名
在Outlook中發送電子郵件時,請按照以下步驟將不同的簽名應用於相應的收件人。
1.首先,您需要在Outlook中禁用自動附加的簽名功能。 請點擊 文件 > 選項 打開 Outlook選項 窗口。
2。 在裡面 Outlook選項 窗口,選擇 郵件 在左窗格中,然後單擊 簽名 按鈕在 撰寫郵件 部分。 看截圖:
3。 在裡面 簽名和文具 對話框,轉到 選擇默認簽名 下的部分 電子郵件簽名 標籤,在 電郵帳號 下拉列表,然後選擇 (無) 來自 新訊息 和 回复/轉發 下拉列表。 重複這些步驟,直到所有電子郵件帳戶都設置為 (無)。 然後點擊 OK 按鈕。
備註:您也可以在此創建所需的簽名 簽名和文具 對話框。
4。 點擊 OK 按鈕,當它返回 Outlook選項 窗口。
5。 按 其他 + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。
6。 在裡面 Microsoft Visual Basic for Applications 窗口,雙擊 本次展望會議 在左窗格中打開“代碼”窗口,然後將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)。 ”.htm“”bbb.htm“和”cc.htm" 是您將發送給相應收件人的指定簽名。
- 3)。 在這種情況下,簽名“AAA”將發送到“電郵地址1,簽名“BBB”將發送到“電郵地址2“和”電郵地址3“,和“電郵地址4”將收到帶有簽名“CCC”。 請根據您的需要進行更改。
- 4)。 如果電子郵件中有多個收件人,則代碼僅考慮第一個收件人。 在這種情況下,其他收件人將收到與第一個收件人具有相同簽名的電子郵件。
7。 然後點擊 工具 > 參考 去 參考項目 對話框。 在對話框中,請同時選中 Microsoft Word對像庫 和 Microsoft腳本運行時 選項,然後單擊 OK 按鈕,請參見屏幕截圖:
8。 按 其他 + Q 關閉鍵 Microsoft Visual Basic for Applications 窗口。
從現在開始,在編寫電子郵件並單擊“發送”按鈕後,將根據“收件人”字段中收件人的電子郵件地址,將相應的簽名自動插入到電子郵件正文的末尾。
在Outlook中發送電子郵件時自動插入當前日期作為簽名:
如果要在Outlook中創建/回复/轉發新電子郵件時將時間戳作為簽名插入電子郵件正文,則可以啟用 在創建新郵件,回復和轉發電子郵件時添加日期簽名 選項 Kutools for Outlook 實現它。 看截圖:
立即下載並試用(60 天免費試用)
最佳辦公生產力工具
Kutools for Outlook - 超過 100 種強大的功能可增強您的 Outlook
🤖 人工智慧郵件助手: 具備人工智慧魔力的即時專業電子郵件——一鍵天才回覆、完美語調、多語言掌握。輕鬆改變電子郵件! ……
📧 電子郵件自動化: 外出(適用於 POP 和 IMAP) / 安排發送電子郵件 / 發送電子郵件時按規則自動抄送/密件副本 / 自動轉送(進階規則) / 自動添加問候語 / 自動將多收件者電子郵件拆分為單獨的訊息 ...
📨 電子郵件管理: 輕鬆回憶電子郵件 / 按主題和其他人阻止詐騙電子郵件 / 刪除重複的電子郵件 / 進階搜索 / 合併資料夾 ...
📁 附件專業版: 批量保存 / 批量分離 / 批量壓縮 / 自動保存 / 自動分離 / 自動壓縮 ...
🌟 介面魔法: 😊更多又漂亮又酷的表情符號 / 使用選項卡式視圖提高 Outlook 工作效率 / 最小化 Outlook 而不是關閉 ...
👍 一鍵奇蹟: 使用傳入附件回覆全部 / 反網路釣魚電子郵件 / 🕘顯示寄件者的時區 ...
👩🏼🤝👩🏻 通訊錄和行事曆: 從選定的電子郵件中大量新增聯絡人 / 將聯絡人群組拆分為各組 / 刪除生日提醒 ...
超過 100特點 等待您的探索! 按此處了解更多。