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
微软一直都有提供一个 ms script control (msscript.ocx)的控件,使其他软件可以调用,执行 Vbscript ,这个控件在 Vb的安装盘或Serverpack 都可以找到 可以在 代码中执行 vbscript 的字符串
问题是这个函数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
楼主自己试试吧,偶要回家了
vbs的话很简单。VB的没做过。
不过应该可以,
毕竟VB是解释性的语言。
不是吧,老的VB才是解释性的,现在用的VB只不过支持解释性的运行,生成的EXE是全程编译的
Vbscript ,这个控件在 Vb的安装盘或Serverpack 都可以找到
可以在 代码中执行 vbscript 的字符串
=============================
是的,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