可以列举所有情况,如:
if a=a="("+str1+++str2+")"+*+str3 then b=(val(str1)+val(str2))* val(str3)
if a=a="("+str1+-+str2+")"+*+str3 then b=(val(str1)-val(str2))* val(str3)
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 X As Long, Y As Long"
ExecuteLine "x = 2"
ExecuteLine "y = 3"
ExecuteLine "msgbox " & Text1.Text
End Sub
Private Sub Form_Load()
Text1.Text = "x+y"
End Sub