请教一个VB问题VB中我记得可以调用一个API函数可以动态的执行一段简单的VB代码的比如说,将VB代码写入记事本中由主程序读取之后动态之行但是我忘了那个API函数了 请问那位达人可以指点一二。

解决方案 »

  1.   

    好像是 vba里面的一个函数的,我去查查先
      

  2.   

    都不是就是VB本身的一个API函数函数一个参数是一段String,这个String可以是一段VB代码,动态读取,交由主程序执行,很有用的。
      

  3.   

    是的,我以前用过的,是一个api ,可以动态执行,但是忘了,好久没用了
      

  4.   

    我在查啊, 好象是一个 什么 "*vb*.dll" 里面导出的函数,不过实在部记得了,google也没找到
      

  5.   

    你对那个函数名还有印象吗? 说以部分看,说不定msdn 能找到
      

  6.   

    好像是 vba6.dll 里面的 ExecuteLine 
    楼主自己试试吧,偶要回家了
      

  7.   

    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
      

  8.   

    楼上的试试看
    vbs的话很简单。VB的没做过。
    不过应该可以,
    毕竟VB是解释性的语言。
      

  9.   

    “毕竟VB是解释性的语言”
    不是吧,老的VB才是解释性的,现在用的VB只不过支持解释性的运行,生成的EXE是全程编译的
      

  10.   

    非常感谢楼上两位问题是这个函数EbExecuteLine 只能在调试模式下用在编译过后运行会报错。请问怎么办呢?
      

  11.   

    微软一直都有提供一个 ms script control (msscript.ocx)的控件,使其他软件可以调用,执行
    Vbscript ,这个控件在 Vb的安装盘或Serverpack 都可以找到
    可以在 代码中执行 vbscript 的字符串
      

  12.   

    问题是这个函数EbExecuteLine 只能在调试模式下用在编译过后运行会报错。请问怎么办呢?
    =============================
    是的,EbExecuteLine只是借用了vbide的解释功能。
    如果要做成exe,恐怕就要用ScriptControl控件了
    在部件中添加ms script control 1.0
    在窗体中添加一个ms script control,一个label,两个text,两个command程序:
    Option ExplicitPrivate Sub Command1_Click()
    ScriptControl1.Language = "VBScript"
    ScriptControl1.AddCode (Text1.Text)
    ScriptControl1.Run ("Test")
    End SubPrivate Sub Command2_Click()
    ScriptControl1.Language = "VBScript"
    ScriptControl1.ExecuteStatement (Text2.Text)
    End SubPrivate Sub Form_Load()
    'Expose the form as frmMainWindow
    ScriptControl1.AddObject "frmMainWindow", Me
    Text1 = "sub Test()frmMainWindow.label1=""hello"" end sub"
    Text2 = "frmMainWindow.BACKCOLOR=VBRED"
    End Sub