我发现了一件有趣的事情:
在word 2010中,选择一些文本,然后运行以下VBA代码:
public Sub Test()
With Selection.Range.Find
MsgBox .Execute(Selection.Range.text)
MsgBox .Found
End With
End Sub
两个消息框都说“False”,但两者都应为“True”。为什么呢?
答案 0 :(得分:0)
非常有趣!
Word 2007表现出相同的行为。
奇怪的是,这不仅仅是在您从VBA搜索时:如果您在文档中选择了一些文本并按“查找”,则查找对话框将默认显示所选文本作为目标。
按“查找下一个>” Word显示错误消息“Word已到达文档的末尾...等”。
如果您修改文本以搜索删除最后一个字符,则不会发生这种情况。 VBA与此一致:下面的代码有效!
Sub tt()
With Selection.Range.Find
MsgBox .Execute(Mid(Selection.Range.Text,1,Len(Selection.Range.Text)-1))
MsgBox .Found
End With
End Sub
未解决......但证明与GUI一致。
HTH!