首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb ScriptControl1解决办法

2013-01-26 
vb ScriptControl1我用ScriptControl1控件,打开我写的VBScript脚本。现在脚本中需要调用程序中的函数。带参

vb ScriptControl1
我用ScriptControl1控件,打开我写的VBScript脚本。
现在脚本中需要调用程序中的函数。带参数的。
我该怎么实现
[解决办法]
这么说吧,脚本有脚本的环境,如果想要做不属于脚本解释器本身功能的事情,需要有一套机制去调节这种需求,ScriptControl可以执行脚本,也有相关的属性或对象取得或设置脚本内容,但是你想把脚本与VB程序结合起来使用,就需要自己定制一套机制去处理,就好像ASP中的Server.URLEncode这个功能,VBS中本身没有这个功能,如果想用ScriptControl做这样的效果,可以在加载解释的脚本前先加载这样的类,如:
Calss ServerClass
   Public Function URLEncode(strText)
      ...
   End Function
End Class
Set Server = New ServerClass
然后再加载目标脚本数据,如:
outText = Server.URLEncode("测试内容")

以这种方式来扩展脚本,当然,还可进行文本替换或变量值提取等方式去处理脚本,甚至可以自己去解析脚本,这就看你的需求而言了。比如你说的想通过脚本来让VB得到相关参数,这需要VB主动去读取运行脚本后的变量值,如脚本内容为:
Test1 = 300
VB 里可以通过对象属性读出脚本变量值,如:
Msgbox ScriptControl1.CodeObject.Test1

当然,还可在脚本中放置更为复杂的过程,VB里还可分析脚本代码然后再提取代码来分析执行,至于怎么做,方法有很多,这就要你自己慢慢做了,我只能给你个方向,具体的还要靠你自己

热点排行