如何在 Outlook 電子郵件中為不同的收件人自動選擇不同的簽名

立即分享:

許多用戶希望 Outlook 可以為電子郵件中的不同收件人自動選擇不同的簽名。 因此,本文將教如何通過 VBA 實現它。

默認情況下,Outlook 只允許您將不同的簽名自動插入到新電子郵件、回復和轉發中。 然而,許多人甚至希望 Outlook 可以為不同的收件人自動選擇不同的簽名。 不幸的是,Outlook 沒有提供這種直接的功能。 因此,您必須尋求其他方式,例如任何第三方加載項或 VBA 代碼。 現在,在下面,我們將向您展示一段VBA代碼,它可以幫助您輕而易舉地實現它。

在 Outlook 電子郵件中為不同的收件人自動選擇不同的簽名

為不同的收件人自動選擇不同的簽名

  1. 首先,您應該啟動 Outlook 程式。
  2. 那麼你最好禁用自動插入簽名功能。禁用自動插入簽名功能
  • 首先,轉到“文件”菜單並選擇“選項”。
  • 在“Outlook 選項”窗口中,切換到“郵件”選項卡。
  • 然後找到並單擊“簽名”按鈕。
  • 接下來在彈出的對話框中,在“新消息”和“回复/轉發”中設置“(無)”。
  • 之後,單擊一系列“確定”以保存更改。
  1. 之後,您可以返回 Outlook 主窗口並按“Alt + F11”鍵。
  2. 接下來,在“Microsoft Visual Basic for Applications”窗口中,找到並打開“ThisOutlookSession”項目。
  3. 隨後,將以下VBA代碼複製並粘貼到該項目中。
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim objMail As Outlook.MailItem
    Dim objRecipients As Outlook.Recipients
    Dim objRecipient As Outlook.recipient
    Dim strRecipientAddress As String
    Dim strSignatureFile As String
    Dim objFileSystem As Object
    Dim objTextStream As Object
    Dim strSignature As String
 
    If TypeOf Item Is MailItem Then
       Set objMail = Item
       Set objRecipients = objMail.Recipients
    End If
 
    'Select different signature files based on recipients
    'You can change the conditions as per you actual needs
    If objRecipients.Count = 1 Then
       Set objRecipient = objRecipients.Item(1)
       strRecipientAddress = objRecipient.Address
       If strRecipientAddress = "mandy@datanumen.com" Then
          strSignatureFile = CStr(Environ("USERPROFILE")) & "\AppData\Roaming\Microsoft\Signatures\Test John Smith.htm"
       ElseIf strRecipientAddress = "anne@datanumen.com" Or strRecipientAddress = "tony@datanumen.com" Then
          strSignatureFile = CStr(Environ("USERPROFILE")) & "\AppData\Roaming\Microsoft\Signatures\Johnny.htm"
       ElseIf strRecipientAddress = "abby@datanumen.com" Then
          strSignatureFile = CStr(Environ("USERPROFILE")) & "\AppData\Roaming\Microsoft\Signatures\New John Smith.htm"
       End If
    Else
       strSignatureFile = CStr(Environ("USERPROFILE")) & "\AppData\Roaming\Microsoft\Signatures\John Smith.htm"
    End If
 
    'Read the specific signature file
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    Set objTextStream = objFileSystem.OpenTextFile(strSignatureFile)
    strSignature = objTextStream.ReadAll
 
    'Insert the signature to this email
    objMail.HTMLBody = objMail.HTMLBody & "<HTML><BODY><br>" & strSignature & "</br></HTML></BODY>"
End Sub

VBA 代碼 - 為不同的收件人自動選擇不同的簽名

  1. 之後,您應該簽署此代碼。
  2. 以後更改您的Outlook宏設置以允許簽名的宏。
  3. 從現在開始,每次單擊“發送”按鈕發送電子郵件時,Outlook 都會識別收件人並在電子郵件正文末尾自動插入相應的簽名。

留意傳入電子郵件中隱藏的惡意宏

現在病毒已經變得非常成熟和強大。 他們總是在電子郵件中將它們偽裝成無害的東西。 因此,既然您打算在 Outlook 中使用宏,則應提高對惡意宏的警惕。 否則,您的 PST 數據將面臨風險。 如果 PST 損壞,您將盡最大努力 恢復PST 數據。 在這種情況下,建議使用有效的工具,例如 DataNumen Outlook Repair.

作者簡介:

Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 SQL修復 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

立即分享:

評論被關閉。