如何在Outlook中根据收件人自动更改签名?
默认情况下,Outlook具有内置功能,供用户通过不同的电子邮件帐户发送电子邮件时自动更改签名。 但是除此之外,我将在这里向您展示基于Outlook中“收件人”字段中的不同收件人自动更改签名的方法。
使用VBA代码自动根据收件人更改签名
在Outlook中发送电子邮件时,请按照以下步骤将不同的签名应用于相应的收件人。
1.首先,您需要在Outlook中禁用自动附加的签名功能。 请点击 文件 > 附加选项 打开 Outlook选项 窗口。
2.在 Outlook选项 窗口,选择 邮箱: 在左窗格中,然后单击 签名 按钮在 撰写邮件 部分。 看截图:
3.在 签名和文具 对话框,转到 选择默认签名 下的部分 电子邮件签名 标签,在 电邮帐号 下拉列表,然后选择 (无) 来自 新讯息 和 回复/转发 下拉列表。 重复这些步骤,直到所有电子邮件帐户都设置为 (无)。 然后点击 OK 按钮。
备注:您还可以在此创建所需的签名 签名和文具 对话框。
4。 点击 OK 按钮,当它返回 Outlook选项 窗口。
5。 按 其他 + F11 键打开 Microsoft Visual Basic应用程序 窗口。
6.在 Microsoft Visual Basic应用程序 窗口,双击 本次展望会议 在左窗格中打开“代码”窗口,然后将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应用程序 窗口。
从现在开始,在编写电子邮件并单击“发送”按钮之后,将根据“收件人”字段中收件人的电子邮件地址,将相应的签名自动插入到电子邮件正文的末尾。
在Outlook中发送电子邮件时自动插入当前日期作为签名:
如果要在Outlook中创建/回复/转发新电子邮件时将时间戳作为签名插入电子邮件正文,则可以启用 创建新邮件,回复和转发电子邮件时添加日期签名 选项 Kutools for Outlook 实现它。 看截图:
立即下载并试用(60 天免费试用)
最佳办公生产力工具
Kutools for Outlook - 超过 100 种强大功能可增强您的 Outlook
🤖 人工智能邮件助手: 具有人工智能魔力的即时专业电子邮件——一键天才回复、完美语气、多语言掌握。轻松改变电子邮件! ...
📧 电子邮件自动化: 外出(适用于 POP 和 IMAP) / 安排发送电子邮件 / 发送电子邮件时按规则自动抄送/密件抄送 / 自动转发(高级规则) / 自动添加问候语 / 自动将多收件人电子邮件拆分为单独的消息 ...
📨 电子邮件管理: 轻松回忆电子邮件 / 按主题和其他人阻止诈骗电子邮件 / 删除重复的电子邮件 / 高级搜索 / 合并文件夹 ...
📁 附件专业版: 批量保存 / 批量分离 / 批量压缩 / 自动保存 / 自动分离 / 自动压缩 ...
🌟 界面魔法: 😊更多又漂亮又酷的表情符号 / 使用选项卡式视图提高 Outlook 工作效率 / 最小化 Outlook 而不是关闭 ...
👍 一键奇迹: 使用传入附件回复全部 / 反网络钓鱼电子邮件 / 🕘显示发件人的时区 ...
👩🏼🤝👩🏻 通讯录和日历: 从选定的电子邮件中批量添加联系人 / 将联系人组拆分为各个组 / 删除生日提醒 ...
超过 100特点 等待您的探索! 单击此处了解更多。