有时我可能需要不使用VB的IDE,也不需要建立VB工程而单独执行一段VB代码,比如在我的程序中计算一个表达式,预览一下某个VB内部的函数,而用户想要执行的代码又是不确定的,这样很难用程序控制,因此我们可以直接调用VBIDE的解释功能,随便用户输入什么,只要是有效的就可以正常运行,以上只是我的想法,技术是这个,但是具体使用这么用那就看使用者的意图了.其实实现很简单,只需要调用一个APIPrivate 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() Dim res As Boolean res = ExecuteLine(Text1.Text) End Sub在Text1中输入一个例句如:MsgBox "^_^,这是一句VB语句",,"OK"执行一下看看效果如何,很方便吧 这里没有任何高深的技术,虽然是几个API但有的时候作用可不小啊!^_^
if 数据库字段值="unload me" then unload me
解释命令字符串!但是你的函数要保证所有的命令的可行性~
大致可以象 viena(晓琴) 说的那样,
可以使用select case
关键字 运行 VB 语句
有时我可能需要不使用VB的IDE,也不需要建立VB工程而单独执行一段VB代码,比如在我的程序中计算一个表达式,预览一下某个VB内部的函数,而用户想要执行的代码又是不确定的,这样很难用程序控制,因此我们可以直接调用VBIDE的解释功能,随便用户输入什么,只要是有效的就可以正常运行,以上只是我的想法,技术是这个,但是具体使用这么用那就看使用者的意图了.其实实现很简单,只需要调用一个APIPrivate 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()
Dim res As Boolean
res = ExecuteLine(Text1.Text)
End Sub在Text1中输入一个例句如:MsgBox "^_^,这是一句VB语句",,"OK"执行一下看看效果如何,很方便吧 这里没有任何高深的技术,虽然是几个API但有的时候作用可不小啊!^_^
你用 unload 窗体名 试试看