Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >outlook签名模板不更改vbscript

outlook签名模板不更改vbscript
EN

Stack Overflow用户
提问于 2014-02-24 15:09:49
回答 2查看 1.4K关注 0票数 0

我有一个vbscript,采取word文档模板,并根据用户的详细信息改变一些字到另一个基础上。由于某些原因,很少用户的更改过程没有成功,他们得到的模板原样是她的outlook签名。我的脚本由GPO作为登录脚本运行这是我的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
On Error Resume Next
'==================================================
'Create Outlook signature from Word template
'==================================================

'search text and replace function 
Sub SearchAndRep(searchTerm, replaceTerm, objWord)
    objWord.Selection.GoTo 1
    With objWord.Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .MatchWholeWord = True
        .Text = searchTerm
        .Execute ,,,,,,,,,replaceTerm
    End With
End Sub
'----- Declarations -----
Const wdWord = 2
Const wdParagraph = 4
Const wdExtend = 1
Const wdCollapseEnd = 0

'--------------------------------------------------------------
'----- Modify these variables appropriately ----
'--------------------------------------------------------------
strTemplatePath = "\\DOMAINNAME\SYSVOL\scripts\"
strTemplateName = "SignTemplate.docx"

'----- Connect to AD and get user info -----'
Set objSysInfo = CreateObject("ADSystemInfo")
Set WshShell = CreateObject("WScript.Shell")

strUser = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)
strName = objUser.FullName
strTitle = objUser.Title
strPhone = objUser.TelephoneNumber
strMobile = objUser.Mobile
strCompany = objUser.Company

strEmail = objUser.mail
strWeb = objuser.wWWHomePage

'----- Apply any modifications to Active Directory fields -----


'----- Open Word template in read-only mode {..Open(filename,conversion,readonly)} -----
Set objWord = CreateObject("Word.Application")
objWord.Visible = FALSE
Set objDoc = objWord.Documents.Open(strTemplatePath & strTemplateName,,False)
Set objEmailOptions = objWord.EmailOptions
Set objSignatureObject = objEmailOptions.EmailSignature
Set objSignatureEntries = objSignatureObject.EmailSignatureEntries

'----- Replace template text placeholders with user specific info -----

SearchAndRep "[Name]", strName, objWord
SearchAndRep "[Title]", strTitle, objWord
if strCompany = ("blabla LTD") then 
SearchAndRep "[Company]", strCompany, objWord
Else 

SearchAndRepDel objWord
End if
SearchAndRep "[Phone]", strPhone, objWord
SearchAndRep "[Mobile]", ("M: " & strMobile), objWord
SearchAndRep "[email]", strEmail, objWord

'----- Replace template hyperlink placeholders with user specific info -----
'SearchAndRepHyperlink "[email]", strWeb, objDoc
'SearchAndRepHyperlink "[web]", strWeb, objDoc


'----- Set signature in Outlook -----
Set objSelection = objDoc.Range()
objSignatureEntries.Add "Default", objSelection
objSignatureObject.NewMessageSignature = "Default"

'see note below if a different reply signature is desired
objSignatureObject.ReplyMessageSignature = "Default"


'----- Close signature template document -----
objDoc.Saved = TRUE
objDoc.Close
objWord.Quit

'-----close outlook-----
Set objOutlook = CreateObject("Outlook.Application")
objOutlook.Quit


'----- Subrouting to search and replace template hyperlink placeholders -----
'         Note this can be picky...if it does not work re-create hyperlink in the template
'Sub SearchAndRepHyperlink(searchLink, replaceLink, WordDoc)
'   Set colHyperlinks = WordDoc.Hyperlinks
'   For Each objHyperlink in colHyperlinks
'       If objHyperlink.Address = searchLink Then                                
'           objHyperlink.Address = replaceLink
'           End If
'   Next
'End Sub
'---sub for solar----
Sub SearchAndRepDel(objWord)
    objWord.Selection.GoTo 1
    With objWord.Selection.Find
        .ClearFormatting
        .Wrap = wdFindStop
        .Text = "[Company]"
        Do While .Execute
            objWord.selection.Bookmarks("\Line").Range.Delete
        Loop
    End With
End Sub
EN

回答 2

Stack Overflow用户

发布于 2014-06-05 07:49:04

确保所有用户对模板文件SignTemplate.docx具有读写访问权限

票数 0
EN

Stack Overflow用户

发布于 2020-07-03 15:17:47

对于OP来说可能有点晚了,但答案就在源代码注释中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'----- Open Word template in read-only mode {..Open(filename,conversion,readonly)} -----
[...]
Set objDoc = objWord.Documents.Open(strTemplatePath & strTemplateName,,False)

readonly参数应为TRUE,而不是FALSE:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Set objDoc = objWord.Documents.Open(strTemplatePath & strTemplateName,,TRUE)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21991503

复制
相关文章
Outlook签名设置
Outlook签名设置 1.png 2.png
林万程
2018/06/20
2.1K0
使用outlook制作签名
你好,最近公司需要我制作公司签名,之前就想着不就是签名嘛,多简单的事。 但是经过一系列的尝试之后,发现还真不容易。主要是因为outlook新建签名的编辑栏不支持直接使用html编辑。下面我介绍我尝试的几种方法
全栈程序员站长
2022/11/03
1.7K0
使用outlook制作签名
★Outlook邮件模板
Outlook邮件模板 15.png 打开模板会自动添加签名,保存为模板前切记删除签名。 16.png 17.png 可以把常用的邮件模板打开后固定在任务栏列表: 18.png
林万程
2018/06/20
2.5K0
Active APT
为 Word 和 Excel 文档添加了狡猾的远程模板注入器;独特的 Outlook 群发邮件宏
Khan安全团队
2022/01/17
8K0
VBScript详解(一)
Vbs是一种Windows脚本,它的全称是:Microsoft Visual BasicScript Editon.(微软公司可视化BASIC脚本版),VBS是Visual Basic的的一个抽象子集,是系统内置的,用它编写的脚本代码不能编译成二进制文件,直接由Windows系统执行(实际是一个叫做宿主host的解释源代码并执行),高效、易学,但是大部分高级语言能干的事情,它基本上都具备,它可以使各种各样的任务自动化,可以使你从重复琐碎的工作中解脱出来,极大的提高工作效率。
全栈程序员站长
2022/07/02
4.2K0
VBScript详解(一)
[S/MIME] Actalis Free S/MIME Certificates 与邮件签名/加密证书与 Outlook
说到数字证书,常见的除了有 SSL(Secure Sockets Layer,安全套接层)证书外,还有 Code Signing(代码签名)证书、Document Signing(文件签名)证书和邮件证书(S/MIME)。SSL 证书通常用于加密互联网连接,而代码签名和文档签名证书则多用于身份识别和认证,S/MIME 则均具两者之间的功能——为邮件签名,同时可以选择使用证书加密邮件。笔者将在本文介绍一下目前几乎是唯一一款免费的电子邮件加密证书——Actalis Free S/MIME Certificates 及电子邮件证书的详细使用。
Nyarime
2021/12/13
5.4K0
[S/MIME] Actalis Free S/MIME Certificates 与邮件签名/加密证书与 Outlook
用VBSCRIPT朗读文本
Windows自带有朗读文本的API,用VBScrpt进行调用,能用来朗读文本。就是发音难听一点,缺少抑扬顿挫。
贰师兄TEN
2020/12/08
1.1K0
outlook下载
Outlook是微软推出的邮件管理工具。Outlook 2021正式版是微软Office软件套件的组成部分之一,帮助用户快速收发电子邮件、记日记、管理联系人信息、安排日程、分配任务等。Outlook 2021免费版支持查看邮件,可以选择分布式方式查看保存的邮件列表。 outlook安装包下载
用户9693436
2022/04/23
4.1K0
VBScript语言_vbs输出语句
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说VBScript语言_vbs输出语句,希望能够帮助大家进步!!!
Java架构师必看
2022/07/06
2.1K0
FTP & VBScript & Powershell & Debug 远程传输
之前我们说过FTP在非交互shell 下会出现没有办法输入密码,导致身份认证过程没有办法完整完成,这里我们就来介绍一下如何变通。
意大利的猫
2020/08/19
1.8K0
Microsoft Outlook LTSC 2021 for Mac(outlook邮箱)
Microsoft Outlook LTSC 2021 for Mac中文版是一款邮件和日历管理应用程序。Microsoft office LTSC 2021 是套装中的一个组成部分,与Word、Excel和PowerPoint等其他应用程序一起提供。
皮西歪
2023/04/25
2.7K1
Microsoft Outlook LTSC 2021 for Mac(outlook邮箱)
VS2010 更改C#类库模板
D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates
Isaac Zhang
2019/09/11
7400
Outlook弹窗提醒
Outlook弹窗提醒 31.png 32.png
林万程
2018/06/20
3.7K0
Outlook自动转发
Outlook自动转发 26.png 27.png 28.png 29.png 30.png
林万程
2018/06/21
1.4K0
Outlook技巧合并版
1.Outlook设置(详看各邮箱说明) 2.Outlook签名设置 1.png 2.png 3.Outlook清理邮件 邮箱大于2G就不能发送邮件,直接删除会丢失数据, 正确的办法是把服务器上
林万程
2018/06/26
1.7K0
Outlook编辑重发
Outlook编辑重发 19.png 这里在原封不动发送前可以编辑
林万程
2018/06/26
1.3K0
Outlook清理邮件
3.Outlook清理邮件 邮箱大于2G就不能发送邮件,直接删除会丢失数据, 正确的办法是把服务器上的邮件存档到本地 3.png
林万程
2018/06/20
1.7K0
Outlook搜索技巧
Outlook搜索技巧 33.png
林万程
2018/06/26
1.4K0
Outlook邮件撤回
Outlook邮件撤回 20.png 21.png 不要多次撤回,否则邮箱有问题不支持撤回将收到很多标题前加“撤回:”的邮件。 给必要的人发【以此为准】比起群发撤回更合适。
林万程
2018/06/26
2.2K0
Outlook性能提升
Outlook性能提升 5.png 6.png 7.png 8.png 一般不到一个月就满了,存档邮件不会删除,可以设置较短的时间,如7天 2 9.png
林万程
2018/06/20
1.3K0

相似问题

Outlook VBScript签名更改颜色和字体,不带换行符

129

AppleScript更改Outlook签名

10

使用vbScript在Outlook2016中编程设置签名

323

VBScript: Outlook签名创建-如何超链接电话号码?

11

通过vbscript打开outlook

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文