为自己的应用程序添加脚本支持

设计具有很好的定制能力,可以通过插件(Addin)、脚本语言等扩展定制的应用程序是一项激动人心的事情,这一类软件包括Microsoft OfficeEmacAutoCADEclipsePhotoshop等等,前3种可以通过VBALisp等语言扩展、定制其功能,后2者可以通过插件来扩展。对于Windows平台,可以有多种为应用程序添加脚本支持的方法,而对于.net平台,则可以使用VSA来完成。

方法1

最简单、最直接的方法是使用Windows下的Script Control,在VB环境下,只需要在引用中添加需要的ScriptControl的引用,然后就可以使用这个脚本引擎了,其支持的脚本语言是VBScriptJScript。其使用步骤为:

  1. 创建脚本使用的Object model,对于VB程序,可以简单的把控件、自定义对象等通过ScriptControlAddObject方法添加到脚本引擎对象,在脚本即可使用该对象;
  2. 可以通过AddCode方法为脚本引擎添加代码;
  3. 通过Run方法即可运行脚本,其参数相应的过程名称;
  4. 对于添加到ScriptControl的对象,如果ScriptControlStateConnected,则其事件也可在脚本中相应,对于VBScript,事件响应过程的名称应该是object_eventname。(注:笔者测试没有成功,不知道为什么,请指教)

这样,就可以为一个应用程序添加必要的脚本支持,当然,编辑器,脚本的保存等还需要另外的工作。
使用VB6完成的一个简单的例子:https://files.cnblogs.com/maweifeng/ScriptTest.rar 
 

方法2

另一个被很多程序应用的方法就是应用VBA SDK(需要支付费用),为自己的应用程序添加脚本支持,笔者没有这个SDK,具体方法就不是很清楚了。使用VBA可以使程序的脚本编写拥有一流的编辑器、用户Form、调试环境、对象查看等。 

.net环境:

.net环境下,.net Framework中有一个VSA的命名空间,可以为.net程序添加脚本支持(使用VB.net语言),其方法类似于上述方法,但更复杂、难用,不过功能更强,中文MSDN上有一篇文章,笔者转贴于转载区:http://www.cnblogs.com/maweifeng/archive/2005/03/05/113581.html。不过笔者认为,对于应用程序扩展,使用VB.net似乎有些复杂了。

posted on 2005-03-05 17:08  马维峰  阅读(3832)  评论(3编辑  收藏  举报