我有一个Word 2010模板。使用时,会向用户显示一个表单,并提示他们在名为 BugNumTextBox 的文本框中输入字符串。根据命令,我希望构建一个URL,创建一个超链接,然后将其插入到文档中。
所需的插入点(锚点)是富文本内容控件,标签名称为" foo"。 对于我尝试的地址参数:
1)指定内容控制的范围
2)指定我在内容控件中创建的书签(名为BugNum)的范围。
两者都没有效果,导致运行时错误 任何人都可以建议一种方法来实现这一目标吗? 以下是上述方法2的非工作示例。
ActiveDocument.Hyperlinks.Add Anchor:=.Bookmark("BugNum").Range, Address:= _
"http://bugs.fubar.net/show_bug.cgi?id=" & BugNumTextBox, _
SubAddress:="", ScreenTip:="", TextToDisplay:=""
非常感谢。
答案 0 :(得分:0)
为什么不让您访问 ContentControls对象集 类似的东西:
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 的场景 如果你有很多这样的对象,你可以这样做:
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
这会将此问题添加为 Rich Text Content Control 中的超链接地址 您可以调整地址属性以满足您的需求。 HTH。