vba 如何把字符串转化为逻辑表达式?

比如:str=“8<6” 这是一个字符串 ,我想用if去判断,不可能写成 if str是吧 ,因为str是字符串,不是逻辑表达式, 用什么函数转化一下把 str转成逻辑表达式 比如 if function(str) ,用某函数 比如 function(str) 直接把字符串转化为表达式!

Public Sub Test()

    Dim str As String

    str = "8<6"

    If Application.Evaluate(str) Then

       MsgBox Chr(34) & str & Chr(34) & " 条件成立!"

    Else

       MsgBox Chr(34) & str & Chr(34) & " 条件不成立!"

    End If

End Sub


温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-02-19
VB好像没有这样的原生函数可以用,当然,不排除鄙人才疏学浅。

如果仅仅像你给出的这种“8<6”,这是比较简单的,先用instr函数定位符号的位置,然后用left、right函数,配合len函数,拆分出符号左右的数字,根据符号的不同,做出相应的比较判断即可

如果表达式非常复杂,比如包含多层的括号,这个就比较麻烦了,当然,实现是完全没问题的。如果你现在不具备这种能力的话,可以网上下载一些类似计算器这种的源码参考一下
相似回答