如何评估"3>=5"
之类的字符串?
我知道我可以分割数字和条件但是我必须测试所有条件,例如>=
,=
,<=
,>
,{{1有没有其他方法可以做到这一点?
答案 0 :(得分:3)
Application.Evaluate("3>=5")
是VBA中的一种方式。 (它实际上是一个非常全面的表达式解析器。)
通常它会返回一个Variant
:在这个特定的伪装中它返回一个VT_BOOL类型,True
或False
。
答案 1 :(得分:0)
您可以使用debug.print
:
Sub Testings()
Debug.Print 3 >= 5
Debug.Print 3 <= 5
End Sub
会给:
False
True
这将直接打印到本地窗口
答案 2 :(得分:0)
避免使用 Application.Evaluate
,除非您的表达式仍然很小。当超过 250 个字符时 Application.Evaluate
会开始抖动!
请参阅 stdVBA
项目的 stdLambda
:
Debug.Print stdLambda.Create("3 >=5").Run() '=> True
Debug.Print stdLambda.Create("$1 >=5").Run(3) '=> True