例如: dim a,b,c as integer dim br as boolean dim symbol as string if br = true then symbol = "+" else symbol = "-" end if c=a & symbol & b 无法求解c的值(得出的结果为"a+b",变成字符串了) 我的问题就是例子中的symbol如何才能真正转化成有意义的运算符???????
Option Explicit
Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long
Public Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function
Private 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
Option Explicit
Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long
Public Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function
Private Sub Command1_Click()
ExecuteLine "msgbox (1+2)*3/4"
ExecuteLine "dim a as string"
ExecuteLine "a = ""dd"""
ExecuteLine "msgbox a"
End Sub