在Outlook中设置默认签名选择

时间:2018-07-01 21:38:20

标签: outlook outlook-vba

我在论坛上找不到答案,或者我输入的查询不够准确。

在我的工作场所使用Outlook 2010时,当我加载Outlook时,默认签名块会不断更改为默认选项。我无权对源文件进行任何更改,因为它是服务器端的全部内容。

我想要做的是将我的签名的默认选择从旧的更改为新的。

在“文件”->“选项”->“邮件”->“签名”下,我想在启动Outlook 2010时使用某种形式的VBA代码将默认签名更改为其他名称。有什么办法可以做到这一点?

我已经创建了新的签名,但是每次登录到终端时都需要重新选择它作为默认选项,这很令人沮丧。

请寻求任何帮助。

1 个答案:

答案 0 :(得分:0)

经过一些粗略的搜索后,看起来Outlook签名是通过Windows注册表管理的(例如,请参见herehere)。特定的注册表路径似乎取决于您的Outlook版本。

当然,如果这是您的工作电子邮件,则很可能您无法对注册表进行任何更改。

但是,如果您想要的是将某些特定的文本自动插入到任何新电子邮件中,则可以通过VBA完成。基本上,您想使用新电子邮件的Open事件来插入特定文本。为此,您需要在Open事件期间添加ItemLoad挂钩。像这样:

' declare the mail item that will have the Open event available
Public WithEvents myItem As Outlook.mailItem

' defines how the Open event will be handled
' note that you only want to do this with unsent items
' (hence the .Sent check)
Private Sub myItem_Open(cancel As Boolean)
   If Not myItem.Sent Then
      'insert your signature text here
   End If
End Sub

' hooks the Open event to a mail item using the ItemLoad event
Private Sub Application_ItemLoad(ByVal Item As Object)
   Dim mailItem As Outlook.mailItem

   If Item.Class = OlObjectClass.olMail Then
      Set myItem = Item
   End If
End Sub

有关更多信息,请参见有关Application.ItemLoad事件和MailItem.Open事件的Microsoft相关文章。