有关的CreateObject()在VB6 / VBA问题
-
19-08-2019 - |
题
我可以这样做:
Dim fso As New FileSystemObject
或我可以这样做:
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
我怎么知道是干什么用字符串创建对象?例如,我怎么会知道使用“脚本”。 “Scripting.FileSystemObject的”的一部分?你去哪里找那个了?
解决方案
它是的ProgID其下HKCR密钥注册在Windows注册表中的成分的:
HKEY_CLASSES_ROOT\Scripting.FileSystemObject
的ProgID的是COM对象人类可读的标识符。他们指出,实际的CLSID,在这种情况下是:
HKEY_CLASSES_ROOT\CLSID\{0D43FE01-F093-11CF-8940-00A0C9054228}
这是在哪里可以找到实际的COM的.dll包括所述组件的实现的地方。
在你提供你正在做的第一样本代码的早期结合,并在第二个你正在做后期绑定。
其他提示
使用VB6 IDE中,选择项目,引用,然后挑参考“Microsoft脚本运行”。
如果你不知道什么参考被调用,您可以使用引用对话框的浏览按钮选择文件/系统32 /的scrrun.dll。
使用所选择的基准,关闭引用对话框然后打开对象浏览器(查看菜单)。下拉更改为最有可能的人选,是“脚本”。这将显示该库中的类,其中之一是“FileSystemObject的”。因此,你会发现了用于创建对象所需要的字符串为“Scripting.FileSystemObject的”。
如果您不知道引用名或文件名,但你却知道类的名字,那么你可以在注册表中搜索“FileSystemObject的”,它应该很快就会发现,你需要完全合格的名称是“脚本.FileSystemObject”。
我将通过在 http://msdn.microsoft.com/library搜索FileSystemObject的MSDN库开始
该网站是充满了文件,包括的如何调用的CreateObject细节。
不隶属于 StackOverflow