谈谈如何象VB IDE的Immediate一样不使用工程,可以单独执行代码片断

有时我可能需要不使用VB的IDE,也不需要建立VB工程而单独执行一段VB代码,比如在我的程序中计算一个表达式,预览一下某个VB内部的函数,而用户想要执行的代码又是不确定的,这样很难用程序控制,因此我们可以直接调用VBIDE的解释功能,随便用户输入什么,只要是有效的就可以正常运行,以上只是我的想法,技术是这个,但是具体使用这么用那就看使用者的意图了.

其实实现很简单,只需要调用一个API

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()
    Dim res As Boolean
    res = ExecuteLine(Text1.Text)
End Sub

在Text1中输入一个例句如:MsgBox "^_^,这是一句VB语句",,"OK"

执行一下看看效果如何,很方便吧

 

这里没有任何高深的技术,虽然是几个API但有的时候作用可不小啊!

^_^


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值