我正在构建一个应用程序,该应用程序必须解释用户设置的一组指令,在运行时才知道的指令。
我通过使用评估功能来实现这一目标,因此:
Evaluate("5>4")
正如人们所期望的那样返回真实的。我的问题是如何评估以下陈述:
5大于4,但小于10
我将用变量代替数字。
我意识到我可以将字符串分为两个部分并单独测试,但是必须有一种通过单个参数进行测试的方法。
Application.Evaluate
评估公式,因此 AND(5>A4,5<10)
或 (5>A4)*(5<10)
(结果为0或1)
另一种选择是ScriptControl Eval
,但它无法访问Excel地址,例如Evaluate
With CreateObject("ScriptControl")
.Language = "VBScript" ' either VBScript or JScript
Debug.Print .Eval("5>4 and 5<10")
End With