分类:
2008-10-15 13:53:54
Private Sub Command1_Click() Dim sc Dim strProgram As String strProgram = "Sub Main" & vbCrLf & _ "MsgBox ""Hello World""" & vbCrLf & _ "End Sub" Set sc = CreateObject("ScriptControl") sc.language = "VBScript" sc.addcode strProgram sc.run "Main" End Sub |
ScriptControl1.AllowUI = False Dim strX As String strX = "Sub Hello" & vbCrLf & _ "MsgBox ""Hello World""" & vbCrLf & _ "End Sub" ScriptControl1.AddCode strX ScriptControl1.Run "Hello" '' 没有允许的 UI! |
创建 Scripting 代码Microsoft Script 控件使用户可以创建一个运行 scripting 语言,例如 VBScript 或 JScript 的应用程序。例如,假设用户在窗体上有一个按钮,用户希望在按下该按钮时运行某些 VBScript 代码。该按钮称为 Run NameMe,而用户希望scripting 代码运行一个叫 NameMe 的过程。意图是当用户单击 Run NameMe 按钮时,VBScript scripting 引擎执行NameMe 过程。
这个 Run NameMe 按钮使用 Script Control 的 Run 方法来执行脚本。下面就是应当出现在 Run NameMe 按钮的 Click事件中的代码:
'' Script Control 的名字是 ScriptControl1. Private Sub RunNameMe_Click()
ScriptControl1.Run "NameMe" End Sub为了创建该脚本所需要代码的其余部分,请选择一种 scripting 语言,并将代码添加到某个过程中,然后运行该过程。
选择一种 Scripting 语言第一步是为 Script Control 配置正确的 scripting 语言。当在某页上作为控件创建 Script Control 时,Language 属性就被自动初始化为 "VBScript".当作为一个 Automation 对象来创建 Script Control 时,则 Language 属性留作未初始化的状态,而必须由代码作者对其进行设置。
若要将 Language 属性设置为 JScript,可使用 Properties 窗口。用户也可以在代码中使用 Language 属性,如下所示:
ScriptControl1.Language = "JScript"其他 scripting 语言,例如 PERL 和 REXX,都不是由 Microsoft 所提供的,也可以为 Script 控件所用。
将代码添加到某个过程中在用户运行 NameMe 过程之前,可使用 AddCode 方法将完整的过程添加到 Script 控件中。如果用户试图将一个不完整的过程(一个没有 End Sub 或者 End Function 的过程)添加进去,则将会出错。下面的代码将过程代码添加到 Script Control 中:
[1]