例如:
dim a,b,c as integer
dim br as boolean
dim symbol as stringif br = true then
symbol = "+"
else
symbol = "-"
end ifc=a & symbol & b无法求解c的值(得出的结果为"a+b",变成字符串了)
我的问题就是例子中的symbol如何才能真正转化成有意义的运算符???????
dim a,b,c as integer
dim br as boolean
dim symbol as stringif br = true then
symbol = "+"
else
symbol = "-"
end ifc=a & symbol & b无法求解c的值(得出的结果为"a+b",变成字符串了)
我的问题就是例子中的symbol如何才能真正转化成有意义的运算符???????
c=a+b
else
c=a-b
end if
Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As LongPublic Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End FunctionPrivate Sub Command1_Click()
ExecuteLine "msgbox (1+2)*3/4"
ExecuteLine "dim a as string"
ExecuteLine "a = ""dd"""
ExecuteLine "msgbox a"
End Sub
dim br as boolean
dim symbol as stringif br = true then
c=a+b
else
c=a-b
end if
首先非常感谢你的支持和帮助,我试了你给出的例子运行无误,但是我用变量()替换你例子中的数字却无法运行,不知是何原因???
Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As LongPublic Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End FunctionPrivate Sub Command1_Click()
ExecuteLine "dim i as long ,j as long "
ExecuteLine "i = 1:j=3"
ExecuteLine "msgbox i + j"
ExecuteLine "msgbox (1+2)*3/4"
ExecuteLine "dim a as string"
ExecuteLine "a = ""dd"""
ExecuteLine "msgbox a"
End Sub