求助以前泰山的“关于VB6中动态执行的功能”

解决方案 »

  1.   

    是不是这个啊?猜的。
    Option Explicit
    Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As LongSub StepLine(ByVal cmd As String)  'cmd就是vb6代码
        Dim l As Long                                          '临时变量,意义不大
        l = EbExecuteLine(StrPtr(ByVal cmd), 0, 0, 0)          '这就是实质
        If l <> 0 Then
            Err.Raise l
        End If
    End SubPrivate Sub Command1_Click()
        StepLine "MsgBox Now"
    End Sub
      

  2.   

    或者:
    '引用 Microsoft Script Control 1.0
    Private Sub Command1_Click()
        Dim VBS As New MSScriptControl.ScriptControl
        Dim Code As String
        
        Code = "Sub Test() " & vbCrLf & _
               "    MsgBox Now" & vbCrLf & _
               "End Sub"    VBS.Language = "VBScript"
        VBS.AddCode Code
        VBS.Run "Test"
    End Sub
      

  3.   

    VB版上的老鸟们都肯定知道dbcontrols(泰山__抛砖引玉)!
    我在以前看到过泰山的一篇文章“关于VB6中动态执行的功能” 这不是引用VBA.DLL,也不是脚本控件的,
    是调用VB其他DLL功能,可以字符命令直接执行的,不需要编译,类似脚本功能,功能又更强大,好象是我们在使用VB的IDE中的立即窗口。