Private Declare Function EbExecuteLine Lib "vba6.dll" _
(ByVal StringToExec As Long, ByVal Any1 As Long, _
ByVal Any2 As Long, ByVal CheckOnly As Long) As Long
Dim Variable As Variant
Function ExecuteCode(Code As String, Optional CheckOnly As Boolean) As Boolean
ExecuteCode = EbExecuteLine(StrPtr(Code), 0&, 0&, CheckOnly) = 0
End Function
Private Sub cmdCheckCode_Click()
Dim Code As String
Code = Replace(txtCode.Text, vbCrLf, ":")
MsgBox ExecuteCode(Code, True)
End Sub
Private Sub cmdExecuteCode_Click()
Dim Code As String
Code = Replace(txtCode.Text, vbCrLf, ":")
Call ExecuteCode(Code)
End Sub
Private Sub Command1_Click()
MsgBox a
End Sub
Private Sub Form_Load()
txtCode.Text = "a=1+2*3" + vbCrLf + "Variable=a" + vbCrLf + "msgbox a"
Label1.Caption = "请在文本框中输一段代码,看看效果"
cmdExecuteCode.Caption = "执行代码"
cmdCheckCode.Caption = "执行结果"
End Sub
//vba6可不小啊,有没有系统里的API
Private Declare Function EbExecuteLine Lib "vba6.dll" _
(ByVal StringToExec As Long, ByVal Any1 As Long, _
ByVal Any2 As Long, ByVal CheckOnly As Long) As Long