如何实现VB运行过程中动态执行代码?

我想实现这样一个功能:在TEXT中输入一行VB代码(都是赋值语句),然后VB程序就执行这一代码,是否有办法实现?在网上得到这样的代码:PrivateDeclareFunc... 我想实现这样一个功能:在TEXT中输入一行VB代码(都是赋值语句),然后VB程序就执行这一代码,是否有办法实现?
在网上得到这样的代码:
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

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()
If Text1.Text <> "" Then
Dim Result As Boolean
Result= ExecuteLine(Text1.Text)
End If
End Sub
发现可以执行,但我加了个TEXT2.TEXT,然后执行下面的代码:
a=100
Text2.text=a
执行第二个时报"实时错误 424",请问怎么解决?
展开
 我来答
悠然见影
2011-06-15 · TA获得超过422个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:516万
展开全部
VB 关于ExeCuteLine的问题:
实际运用时发现,其只能在VB编辑器中生效,如程序Make成exe文件后就不能使用了。后来我找到一种可以代替其功能的方法。实现如下:
在工程中引入Microsoft Script Control,然后通过其实例的.eval函数可以完成同上的功能。且eval函数还可以返回执行的结果。这点比之ExecuteLine更为方便。
例如
tmpStr = scriptControl1.Eval("1 + 2 > 4") '用一个字符串变量获取eval的执行结果
执行之后tmpStr的值为"false"。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式