将超链接添加到 Word 书签

Add Hyperlink to Word Bookmark

我正在努力使用 VBS 添加指向书签的超链接。

该脚本用于从活动域目录中检索数据并为每个用户设置公司签名,但是我希望电子邮件地址是一个超链接并且可以点击。

我试着把它放在某个地方: doc.Hyperlinks.Add(ActiveDocument.bookmarks("Email").范围,objUser.mail,objUser.mail)

但是无论我把它放在哪里,我都只会出错。

这是我目前只有纯文本的内容。

strTemplate = "\w2k8srv1\NETLOGON\Signatures\test.docx"

Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add(strTemplate)
Set objSysInfo = CreateObject("ADSystemInfo")
strUser = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)

With objDoc.Bookmarks
    .Item("FullName").Range.Text = objUser.cn
    .Item("Title").Range.Text = objUser.title
    .Item("Telephone").Range.Text = objUser.telephoneNumber
    .Item("Email").Range.Text = objUser.mail
End With
Set selection = objDoc.Range()
With objWord.EmailOptions.EmailSignature
    .EmailSignatureEntries.Add "Sign", selection
    .NewMessageSignature = "Sign"
    .ReplyMessageSignature = "Rare"
End With

objDoc.Saved = True
objWord.Quit

所以我只是想添加一个指向书签 "Email" 的超链接,其值为 objUser.mail。

代码如下:

.Item("Email").Range.Text = objUser.mail

不添加内容到书签;它将它插入书签之后。如果您希望将电子邮件地址作为超链接插入,您可以使用如下代码:

With objDoc
    .Bookmarks("FullName").Range.Text = objUser.cn
    .Bookmarks("Title").Range.Text = objUser.Title
    .Bookmarks("Telephone").Range.Text = objUser.telephoneNumber
    .Hyperlinks.Add .Bookmarks("Email").Range, objUser.mail
End With

请注意,.Hyperlinks.Add 也接受其他参数;为了简洁起见,我省略了它们。