【问题标题】:Add hyperlink into Word Content Control with VBA使用 VBA 将超链接添加到 Word 内容控件
【发布时间】:2014-10-24 09:42:52
【问题描述】:

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

所需的插入点(锚点)是标签名称为“foo”的富文本内容控件。 对于我尝试的 address 参数:

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

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

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

非常感谢。

【问题讨论】:

    标签: vba ms-word


    【解决方案1】:

    您为什么不访问 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
    

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

    【讨论】:

    • 非常感谢您的回答。正如您所描述的,我已经使用直接 contentcontrol 对象的方法实现了。它导致与我的另一个想法类似的错误。调试突出显示以下内容:ccRtxt.Range.Hyperlinks.Add ccRtxt.Range, _ "stackoverflow.com/questions/26538906" & _"add-hyperlink-into-word-content-control-with-vba" 并给出错误:运行-时间错误“4103”内存不足有什么想法吗?
    • @scorf 重新启动 Excel 或更改 http 地址并尝试其他地址。我尝试并测试了该代码,只要您拥有正确的对象,它就可以正常工作。
    • 再次感谢 L42。我正在尝试在 Word 2010 中执行此操作。我尝试在 excel 中复制它,但我还没有弄清楚如何在 excel 中添加富文本内容控件。
    • @scorf 是的,我也在使用 Word 2010。它运行良好。我上传了我的测试文件in this link
    • 好的,所以事实证明还有其他一些未知的交互实际上导致了错误。我从头开始重建了我的模板,你提出的方法就像一个魅力。再次感谢您的帮助和耐心@L42!
    猜你喜欢
    • 2021-04-13
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    相关资源
    最近更新 更多