从MS Word字段中恢复显示“错误!超链接引用无效”的字段

时间:2009-06-08 13:39:29

标签: vba ms-word ms-office

我有一些word文档,其中包含了持有者URL。网址类似于“http://<URL>/service.svc”。 Word已经确定这些必须是有效的URL,当字段更新时,请将其替换为“错误!超链接引用无效”。

当我将鼠标悬停在该错误文本上时,单词弹出一个工具提示仍显示原始文本。有没有办法提取原始文本?该文件长度超过80页。当然必须有一种程序化的方法来做到这一点?

我尝试过以下代码,但似乎没有找到有问题的超链接。

        For Each oHyperlink In ActiveDocument.Hyperlinks
        If IsObjectValid(oHyperlink) Then
            If Len(oHyperlink.Address) > 0 Then
                If Mid(oHyperlink.Address, 8, 5) = "<ULR>" Then
                    oHyperlink.TextToDisplay = oHyperlink.Address
                    oHyperlink.Range.Font.Color = wdColorBlue
                    oHyperlink.Range.Font.Underline = wdUnderlineSingle
                    oHyperlink.Range.Font.UnderlineColor = wdColorBlue
                End If
            End If
        End If
    Next oHyperlink

如果在上面的代码示例中删除了测试项IsObjectValid的行,则会返回一行指示“对象已被删除”的超链接。我假设这可能是破坏(通过单词)“超链接”。如何取回我的文字?

注意:此文档已保存并关闭,因此无法选择Ctr + z。

信息在那里,我该如何获得?

2 个答案:

答案 0 :(得分:1)

您是否尝试使用记事本打开文件并搜索http?这对我有用。

您还可以使用“字符串”之类的程序来获取Word文件中的所有文本字符串。见http://technet.microsoft.com/en-us/sysinternals/bb897439.aspx

答案 1 :(得分:0)

怎么样:

For Each oHyperlink In ActiveDocument.Hyperlinks
    set rng = oHyperlink.Range
    rng.Collapse wdCollapseStart
    rng.text = oHyperlink.TextToDisplay
    oHyperlink.Range.Delete
Next oHyperlink