在 Microsoft Word 中使用“查找和替换”功能搜索包含超链接的文本时出现错误?

在 Microsoft Word 中使用“查找和替换”功能搜索包含超链接的文本时出现错误?

我试图在 Word 文档中替换中间带有电子邮件地址的文本。如果我只使用“查找”命令,那么它就可以正常工作,Microsoft Word 会找到我想要替换的文本。

在此处输入图片描述

当我真正尝试进行替换时,问题出现了,然后 Word 神秘地告诉我找不到文本(相同的文本和相同的文档),因此不幸的是没有进行任何替换。

在此处输入图片描述

这是因为电子邮件地址被视为超链接。如果我删除超链接,它就可以正常工作,但这对我来说不是一个解决方案,因为我正在尝试制作一个供许多人使用的程序,默认情况下,Word 中会激活自动将电子邮件地址设置为超链接的选项。

有没有什么解决方法可以解决这个问题?我正在考虑其他选择,但如果可以使用 Word 的替换命令来完成,对我来说会容易得多。

信息:我在 Microsoft Office 2003 和 Microsoft Office 2013 中测试了这一点。它也不起作用,所以这不是版本相关的问题,而是所有版本的 Microsoft Word 的普遍问题。

答案1

您可以使用 VBA...

1)删除所有超链接(保留文本)。

Sub RemoveHyperlinks()
     With ThisDocument
         While .Hyperlinks.Count > 0
            .Hyperlinks(1).Delete
         Wend
     End With
End Sub

2)进行搜索并替换......

3)重新创建所有超链接(如果用户启用了 Word 中的自动超链接选项):

Sub ReformatDocument()
     Selection.WholeStory
     Selection.Document.Kind = wdDocumentNotSpecified
     Selection.Range.AutoFormat
End Sub

此外,如果您想启用或禁用自动超链接的实际自动更正选项,您可以使用“Application.Options.AutoFormatAsYouTypeReplaceHyperlinks”:

IE:Application.Options.AutoFormatAsYouTypeReplaceHyperlinks = False

相关内容