在某些情况下,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/