我可以这样做:
Dim fso As New FileSystemObject
或者我可以这样做:
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
我如何知道CreateObject使用的字符串?例如,我怎么知道使用“脚本”。 “Scripting.FileSystemObject”的一部分?你去哪儿看看呢?
答案 0 :(得分:24)
在HKCR密钥下的Windows注册表中注册的组件的ProgID:
HKEY_CLASSES_ROOT\Scripting.FileSystemObject
ProgID是COM对象的可读标识符。它们指向实际的CLSID,在这种情况下是:
HKEY_CLASSES_ROOT\CLSID\{0D43FE01-F093-11CF-8940-00A0C9054228}
在这里您可以找到包含组件实现的实际COM .dll。
在您提供的第一个示例代码中,您正在进行早期绑定,而在第二个示例代码中,您正在进行延迟绑定。
答案 1 :(得分:2)
使用VB6 IDE,选择Project,References,然后选择引用'Microsoft Scripting Runtime'。
如果您不知道调用了什么引用,可以使用“引用”对话框的“浏览”按钮来选择文件/系统32 / scrrun.dll。
选择引用后,关闭“引用”对话框,然后打开“对象浏览器”(“视图”菜单)。将下拉列表更改为最可能的候选者,即“脚本”。这将揭示库的类,其中一个是'FileSystemObject'。因此,您将发现CreateObject所需的字符串是'Scripting.FileSystemObject'。
如果您不知道引用名称或文件名但是您知道了类名,那么您可以在注册表中搜索“FileSystemObject”,并且很快就会发现您需要的完全限定名称是“脚本” .FileSystemObject”。
答案 2 :(得分:1)
我首先在http://msdn.microsoft.com/library
的MSDN库中搜索FileSystemObject该网站充满了文档,包括如何调用CreateObject的详细信息。