使用 VBA 将超链接添加到 Word 内容控件中 [英] Add hyperlink into Word Content Control with VBA

查看:197
本文介绍了使用 VBA 将超链接添加到 Word 内容控件中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 Word 2010 模板.使用时,会向用户显示一个表单,并提示他们在名为 BugNumTextBox 的文本框中输入字符串.根据命令,我希望构造一个 URL,创建一个超链接,并将其插入到文档中.

I have a Word 2010 template. When used, a form is presented to the user and they are prompted to enter a string in a textbox named BugNumTextBox. Upon command, I wish to construct a URL, create a hyperlink, and insert that into the document.

所需的插入点(锚点)是一个标签名为foo"的富文本内容控件.对于我尝试过的 address 参数:

The desired insertion point (anchor) is a Rich Text Content Control with a tag name of "foo". For the address parameter I have attempted:

1) 指定内容控件的范围
2) 指定我在内容控件内创建的书签(名为 BugNum)的范围.

1) To specify the range of the content control
2) To specify the range of a bookmark (named BugNum) that I created inside of the content control.

两者都不起作用,导致运行时错误.
谁能建议一种方法来实现这一目标?
以下是上述方法 2 的非工作示例.

Neither have worked, resulting in run-time errors.
Can anyone suggest a method to achieve this?
Below is a non-working example of method 2 above.

ActiveDocument.Hyperlinks.Add Anchor:=.Bookmark("BugNum").Range, Address:= _
"http://bugs.fubar.net/show_bug.cgi?id=" & BugNumTextBox, _
SubAddress:="", ScreenTip:="", TextToDisplay:=""

非常感谢.

推荐答案

为什么不访问 ContentControls 对象集合.
类似的东西:

Why don't you access the ContentControls Object Collection instead.
Something like:

Dim ccRtxt As ContentControl

Set ccRtxt = ActiveDocument.ContentControls(1)
ccRtxt.Range.Hyperlinks.Add ccRtxt.Range, _
    "http://stackoverflow.com/questions/26538906/" & _
    "add-hyperlink-into-word-content-control-with-vba"

以上适用于您描述的只有 1 个 ContentControl 的场景.
如果你有很多这样的对象,你可以这样做:

Above will work on the scenario you describe where you only have 1 ContentControl.
If you have many such objects, you can do this:

Dim ccRtxt As ContentControl

For Each ccRtxt In ActiveDocument.ContentControls
    If ccRtxt.Tag = "foo" Then
        ccRtxt.Range.Hyperlinks.Add ccRtxt.Range, _
            "http://stackoverflow.com/questions/26538906/" & _
            "add-hyperlink-into-word-content-control-with-vba"
    End If
Next

这会将此问题作为超链接地址添加到您的富文本内容控件中.
您可以调整地址属性以满足您的需要.哈.

This adds this question as hyperlink address in your Rich Text Content Control.
You can adjust the address property to suit your needs. HTH.

这篇关于使用 VBA 将超链接添加到 Word 内容控件中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆