如何计算像"3>=5"
这样的字符串?
我知道我可以拆分数字和条件,但是我必须测试所有条件,例如>=
,=
,<=
,>
,<
,.....还有其他方法可以做到这一点吗?
Application.Evaluate("3>=5")
是VBA中的一种方式。(它实际上是一个非常全面的表达式解析器。
一般来说,它返回一个Variant
:在这种特定的伪装中,它返回一个VT_BOOL类型,即True
或False
。
你可以只使用debug.print
:
Sub Testings()
Debug.Print 3 >= 5
Debug.Print 3 <= 5
End Sub
将给予:
False
True
这将直接打印到局部变量窗口
避免使用Application.Evaluate
,除非表达式仍然很小。当超过 250 个字符时Application.Evaluate
会开始摇摆不定!
我从这个项目中为这份工作做了stdLambda
stdVBA
:
Debug.Print stdLambda.Create("3 >=5").Run() '=> True
Debug.Print stdLambda.Create("$1 >=5").Run(3) '=> True