Selection.Find.Execute语句中的OR运算符

时间:2019-01-18 01:50:44

标签: vba ms-word

我最近也有同样的问题,但是也许我后来增加了太多细节。我只想通过Selection.Find.Execute语句关注'OR'运算符,如果我仅搜索单个内容,则该语句运行良好,即在下面的示例中,如果我尝试查找逗号或句点,但是如果我尝试要使用OR运算符检查这两种可能性(即逗号或句号)中的任何一种,Word VBA会给我输入类型不匹配错误。

这很好:

Selection.Find.Execute "*,", , , True

这会导致类型不匹配错误:

Selection.Find.Execute "(*,)" Or "(*.)", , , True

请提出解决方法。 谢谢

3 个答案:

答案 0 :(得分:1)

当然!电脑不像人类那样“思考”。假定您的代码在没有OR的情况下工作,请分配每次搜索的结果

Selection.Find.Execute "(*,)", , , True
and
Selection.Find.Execute "(*.)", , , True

对一个变量并将您的OR逻辑应用于这两个结果。

答案 1 :(得分:1)

正如您所提到的other discussion中所提到的:不可能64bitsOR用作Word的AND的一部分功能。根本不支持。搜索词必须能够找到所有变体(有时是可能的),或者需要执行两个单独的搜索。

答案 2 :(得分:1)

在这种情况下,您可以使用单个通配符查找表达式:

Selection.Find.Execute "(*[,.])", , , True