说到用脚本创建Outlook邮件签名,你可以通过百度轻松搜索出相关的VBS代码,稍作修改就能用于你的环境。

微信个性签名修改_outlook修改签名_签名修改工具

以上是非常非常常见的签名脚本,这也是我一直用了很多年的方法,逐行逐行去设置字体大小、颜色、间隔甚至超链接等。

但是,我相信用过这个思路的同学们应该都有同样的体会,就是维护这段代码超级不便,只要邮件签名格式变化,就算是加粗了一个字眼,你都得个修改代码,万一签名里面还有表格,那就更让你痛不欲生,有点回到当年用DOS版WPS画表格的感觉。更可怕的是,这个VBS的代码会有些神奇的BUG,只要你们操作过复杂的签名脚本你们就会懂我在说什么。

为了解决用VBS操作表格太困难及更新代码不便的问题,我摸索出的另外一个办法,思路非常简单,既然我们上面的方法是通过操作一个Word的object去逐行逐行的完成一个签名,那我们为何不直接打开一个Word的签名模板,然后通过搜索替换关键字,这样我们就可以避开了超级麻烦的操作格式部分,而仅仅是操作文本内容,这件事情就变得非常简单了。

说干就开

1、先用Word去建立Word版本的签名模板,考虑到新邮件和回复邮件可能会有不同的格式,可以保存两份,新建模板为Signature2023_New,回复模板为Signature2023_Reply,把格式调好,字号、间隔、大小等等。把需要替换的关键字标记一下。

微信个性签名修改_outlook修改签名_签名修改工具

2、修改你的代码。以下只提供核心操作部分,关于如何获取AD中的username, job title,既然你已经看到这里,我相信你肯定知道怎么做。

Dim TemplateFile_New, TemplateFile_ReplyTemplateFile_New   = "\yourcompanyshareSignature2023_New.docx"TemplateFile_Reply  = "\yourcompanyshareSignature2023_Reply.docx"
call CreateSignature("BigHard_2023_New", TemplateFile_New, 0)call CreateSignature("BigHard_2023_Reply", TemplateFile_Reply, 1)
'NewOrReply, 0=signature for new email, 1=signature for reply emailSub CreateSignature(SignatureName, Template, NewOrReply) On Error Resume Next
Set objWord = GetObject(, "Word.Application") If objWord Is Nothing Then Set objWord = CreateObject("Word.Application")
objWord.Visible = False
Set objDoc = objWord.Documents.Open(Template) Set objSelection = objWord.Selection Set objSelection = objDoc.Range()
'Name objSelection.Find.Text = "{UserName}" objSelection.Find.Forward = True objSelection.Find.Replacement.Text=UserName objSelection.Find.Execute ,,,,,,,,,,2
'Job Title objSelection.Find.Text = "{JobTitle}" objSelection.Find.Forward = True objSelection.Find.Replacement.Text=JobTitle objSelection.Find.Execute ,,,,,,,,,,2
  'Telephone objSelection.Find.Text ="{Telephone}" objSelection.Find.Forward = True objSelection.Find.Replacement.Text=Telephone objSelection.Find.Execute ,,,,,,,,,,2
'Address objSelection.Find.Text = "{Address}" objSelection.Find.Forward = True objSelection.Find.Replacement.Text=Address objSelection.Find.Execute ,,,,,,,,,,2
'Set objEmailOptions = objWord.EmailOptions Set objSignatureObjects = objWord.EmailOptions.EmailSignature Set objSignatureEntries = objSignatureObjects.EmailSignatureEntries
objSignatureEntries.Add SignatureName, objSelection If NewOrReply=0 then '0: new signature objSignatureObjects.NewMessageSignature = SignatureName Else '1: reply signature objSignatureObjects.ReplyMessageSignature = SignatureName End If
objDoc.Close 0 'objWord.Quit Set objWord = NothingEnd Sub

好了,有了这段代码,以后你的签名要修改,基本上你只需要修改那份Word版的模板即可,代码几乎可以不动了,再也不用因为签名的变化而痛苦的修改VBS代码了。

限时特惠:本站每日持续更新海量各大内部网赚创业教程,会员可以下载全站资源点击查看详情
站长微信:11082411

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。