從顯示“錯誤!超鏈接引用無效”的 MS Word 字段中恢復 URL (Recover URL from MS Word fields showing "Error! Hyperlink reference not valid")


問題描述

從顯示“錯誤!超鏈接引用無效”的 MS Word 字段中恢復 URL (Recover URL from MS Word fields showing "Error! Hyperlink reference not valid")

I have some word documents that have place holder URL's in them. The URL's are something like "http://<URL>/service.svc". Word has figured that these have to be a valid URL and when the fields get updated, replace them with "Error! Hyperlink reference not valid".

When I mouse over that error text, word pop's up a tooltip still showing the original text. Is there some way to extract the original text? The document is over 80 pages in length. Surely there must be a programmatic way to do this?

I've tried the following code, but it does not seem to find the Hyperlinks in question.

        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

If in the above code sample you remove the line which tests if the item IsObjectValid it comes back with a load of hyperlink stating "Object has been deleted". I'm assuming this could be the broken (by word) "Hyperlinks". How do I get my text back?

Note: This document has been saved and closed so Ctr+z is not an option.

The information is in there, how do I get it?


參考解法

方法 1:

Have you tried opening the file with Notepad and searching for http?  This works for me.

You can also use a program like "strings" to get all of the text strings from the Word file.  See http://technet.microsoft.com/en-us/sysinternals/bb897439.aspx

方法 2:

How about:

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

方法 3:

I just had the same problem and worked around the problem by opening the document with LibreOffice.

I'm sorry I could not find anything in options of Word to open or revert this (Word v16.61 on MacOS 12).

(by GineerAnthony LewisTom HillmanThomas Baeckeroot)

參考文件

  1. Recover URL from MS Word fields showing "Error! Hyperlink reference not valid" (CC BY-SA 3.0/4.0)

#ms-office #ms-word #vba






相關問題

什麼是 MS Office 對比算法? (What is the MS Office contrast algorithm?)

在 Office 2007 應用程序中使用 VBA? (Use VBA in Office 2007 Applications?)

複製 Word 腳註 (Copy Word Footnotes)

使用 WebApi 打開辦公文檔並使用 MS Office 保存回站點 (Open office documents with WebApi and save back to the site using MS Office)

用於確定 Windows 和 Office 版本的快速命令或批處理腳本 (quick command or batch script to determine Windows and Office version)

通過 Office 加載項將內容添加到 Outlook 電子郵件正文 (Adding content to an Outlook email body via an Office Add-In)

Word 2016 自動化生成“錯誤:80080005 服務器執行失敗” (Word 2016 automation generates "error: 80080005 Server execution failed")

Office 2016 查找激活日期 (Office 2016 find activation date)

Word 2007 文件啟動新窗口而不是顯示內聯 (Word 2007 files launching new window instead of displaying inline)

將 A1 公式和數組轉換為 L1C1 公式,反之亦然 (convert A1 formula and Array into L1C1 formula and vice-versa)

.NET C# Office Shared Add In WCF Service 引用異常 (.NET C# Office Shared Add In WCF Service reference exception)

從顯示“錯誤!超鏈接引用無效”的 MS Word 字段中恢復 URL (Recover URL from MS Word fields showing "Error! Hyperlink reference not valid")







留言討論