ScriptControl接口
属性
属性名称 | 类型 | 备注 |
---|---|---|
Allow | bool | 检测是否允许运行用户的接口元素。如果为false,则注入消息框之类的界面元素不可见 |
CodeObject | Object | 脚本暴露给宿主调用的对象,只读. |
Modules | Modules | 宿主提供给脚本的组件库模块,只读。(COM组件通常都是以对象手机的形式向用户提供可以留给用户二次开发的对象集合,每一个收集即一个Modules) |
Language | String | 设置或获取脚本引擎解释的语言,例如VBScript,JScript |
Name | String | 脚本引擎的名称.只读 |
Procedures | Procedures | 返回模块中定义的过程的集合 |
SitehWnd | Enum | 在脚本中显示UI的父窗口句柄 |
State | Enum | 设置或返回控件的状态,如果为0,控件只执行语句但不转发事件,为1则为加入的本控件接受的对象转发事件 |
Timeout | Long | 控件的执行脚本的超时值,-1表示不超时 |
UseSafeSubset | bool | 设置或返回宿主程序是否关心安全。宿主程序的安全级别可以从此属性设置 |
Error | Error | 错误对象,发生错误时,此属性返回一个错误对象 |
方法
方法名称 | 参数 | 功能 |
---|---|---|
AddCode | Code As String | 往脚本引擎中加入要执行的脚本 |
AddObject | Name As String,Object As Object | 往脚本引擎加入一个对象,以便在脚本中可以使用该对象提供的方法等 |
Eval | Expression As String | 表达式 |
ExecuteState | Statement As String | 解释并执行脚本语句 |
Reset | 丢弃所有的对象和代码,将State属性设置为0 | |
Run | ProcedureName As String,ParamArray Parameters As Variant | 运行一个指定的过程 |
事件
事件名称 功能
Error 有错误发生时激发该事件
Timeout 执行过程超时时发生
一般用法
在程序中加入ScriptControl
定义一个ScriptControl的实例
调用AddCode等方法向脚本引擎中加入要执行的脚本
调用Run 执行要执行的脚本函数