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

关于api函数 CreateObject 参数的有关问题,内附例子

2012-03-12 
关于api函数 CreateObject 参数的问题,内附例子在vb,动态创建引用对象很方便,但是引用一些不常用的对象时,

关于api函数 CreateObject 参数的问题,内附例子
在vb,动态创建引用对象很方便,
但是引用一些不常用的对象时,里面的参数应该如何填写?
下面的例子应该如何更改
'正则表达式 
dim obj1 
dim obj2 
dim str1 as MatchCollection
dim ml1 as matchcollection 
set obj1 = CreateObject("VBscript.RegExp") '动态创建 regexp 对象
str1 = "asfasdfafd" 
obj1.pattern = "a" 
set ml1 = obj1.Excute(str1) 
'如果我想把 obj2 动态引用 MatchCollection 对象应该如何写 ?
'我试过 set obj2 = CreateObject("VBscript.MatchCollection") ,可以这样没有用 
'而且以后是动态引用其他不常用的对象,应该如果找他的名称(即 "VBscript.RegExp" 这样的) 
'可不可以用 createobject("########-####-####-####-############") 这样的?

[解决办法]
我不清楚LZ为什么说加了引用会有版本问题,事实上,当添加引用后,编译时按引用的部件的guid来编译,不同的版本部件的guid是不同的。

至于是否可以使用createobject来创建,要看部件的设计规范,比如你说的word对象,
word.application是可以使用CreateObject创建,但是document对象则不可以,必须通过Appliction的对象得到引用;但是,一个部件至少有一个类是可以createobject的。事实上,你自己创建部件也可以这样规划,比如,你创建的类class1是可以createobject,但是class2必须通过class1.add来添加,你只要将class1的instancing属性设置为mutiuse,而class2的instancing属性设置为publicnocreatable,这样,你的部件的用户,对应class1可以使用createobject创建,但class2则不可以。

你的问题,看来就在obj2的代码后面加个备注吧

热点排行