在网上找了好多关于在程序中向VB脚本传递自定义对象的文章,一般都采用script control的AddObject方法,不过这个方法有个缺点,那就是在VB脚本中必须要知道程序传递给脚本的对象的名字,这样就使程序的扩充性受到了限制,我把我最近摸索的另一个方法跟大家共享一下。
其实这里最关键的是要知道在VB脚本中,对象都要支持自动化,这样当程序要向VB脚本的函数或过程传递自定义对象参数时,这个对象必须要支持自动化。使对象支持自动化有两种途径:1、创建支持自动化的类;2、创建组件。对于组件的创建我想大家都很熟悉了,关键是如何创建支持自动化的类呢?其实也很简单。在ClassView中右键选择New Class,选择Class Type为MFC Class,Base Class选择CCmdTarget,Automation选择Automation即可,这样新建的类就可以支持自动化了。
至于如何执行VB脚本我使用的是在网上找来的一个叫Ernest Laurentin的网友封装的类,大家可以参考一下。