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-4/5" End Sub
vb计算字符串表达式的程序,注:窗体中加入一个文本框名为text1一个按钮command1
这种使用API函数实现的因为VB不像JavaScript用eval函数就可以计算字符串表达式。