在某些情况下,range.Find.Execute会引发错误“运行时错误5692”,包括有时当范围为空时,有时在对格式错误的正则表达式进行正则表达式搜索时。

这个错误是什么意思?错误记录在任何地方吗?从我的无知的立场来看,这是不可预测的。

最佳答案

我做了一些研究,但像您一样,我没有找到任何文档。
It appears,有时可能由于不清除查找/替换文本而导致此错误。

我已经用几种不同的输入测试了下面的代码,并且该代码运行无误。
注意:代码需要检查工具->引用-> Microsoft Word xx.0对象库。

Sub TextReplace()

    Dim oWord As Word.Application
    Dim oDoc As Word.Document
    Dim oFind As Find

    Set oWord = CreateObject("Word.Application")
    oWord.Visible = True
    Set oDoc = oWord.Documents.Add("C:\in.doc")
    Set oFind = oDoc.Range.Find

    oFind.Execute "foo", , , , , , , , , "bar", wdReplaceAll

    oDoc.SaveAs ("C:\out.doc")
    oDoc.Close
    oWord.Visible = False

End Sub

随时使用运行此代码时遇到的任何错误来更新您的问题。

关于vba - “Runtime error 5692”是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3867369/

10-09 04:26