1。
引用“Microsoft Script Control 1.0”
Private Sub Command1_Click()
Dim VBEval As New ScriptControl
Dim Result As String
On Error GoTo E
VBEval.Language = "vbscript"
Result = VBEval.Eval(Text1.Text)
MsgBox Text1.Text & "=" & Result
Exit Sub
E:
MsgBox "表达式错误,检查是否输入了非法字符!"
End Sub
2。
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
Private Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function
Sub calc(ByVal x As String)
Dim result
ExecuteLine "dim x as double"
ExecuteLine "x= " & x
ExecuteLine "clipboard.settext x"
result = Clipboard.GetText
MsgBox x & "=" & result
Set result = Nothing
End Sub
Private Sub Command1_Click()
calc Text1
End Sub
Private Sub Form_Load()
Text1.Text = "(1+(2*((3-2)-4)))/2"
End Sub