有没有办法检查通过活动word文档中的书签添加的内部超链接/交叉引用的有效性



我正在尝试构建一个ms word插件,其中

我想检查一个特定的场景,比如说用户插入一个书签,然后在文档中添加一个对该书签的交叉引用。但他随后删除了书签,忘记了更新他的文档,现在按下ctrl+click(点击链接)后,我会看到文档的开头,相反,我想知道我们是否可以向用户显示一条特定的消息,告诉他更新文档,甚至随时删除交叉引用。

请让我知道我该怎么做,我知道如何测试关于toc的无效链接。但这种情况令人困惑。我们非常感谢您的帮助。提前感谢:)

我使用以下逻辑解决了问题

Dim doc As Word.Document
Dim fld As Word.Field
Dim rng As Word.Range
Dim str As String

Set doc = ActiveDocument
For Each fld In doc.Fields
    If fld.Type = wdFieldRef Then
        str = fld.Code
        str = Replace(str, "REF ", "")
        str = Replace(str, "h", "")
        str = Trim(str)
      ‘need handle the error if the bookmark has been deleted.
        Set rng = doc.Bookmarks(str).Range
    End If
Next

如果要进一步删除对无效书签的交叉引用,可以使用Field.Result.delete

最新更新