下面实现字符串表达式计算代码由笔者收藏的本论坛代码改编,记不清是哪位网友提供的了,非常感谢。
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
此博客展示了一段由论坛代码改编的VBA代码,用于实现字符串表达式的计算。代码包含函数声明、执行代码行的函数,以及计算和显示结果的子程序等,还涉及到命令按钮点击和窗体加载时的操作。

被折叠的 条评论
为什么被折叠?



