我可以這樣做:關於產品的CreateObject()在VB6/VBA
Dim fso As New FileSystemObject
或者我可以這樣做:
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
我怎麼知道是幹什麼用字符串創建對象?例如,我怎麼知道使用「腳本」。 「Scripting.FileSystemObject」的一部分?你去哪裏看那個?
我可以這樣做:關於產品的CreateObject()在VB6/VBA
Dim fso As New FileSystemObject
或者我可以這樣做:
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
我怎麼知道是幹什麼用字符串創建對象?例如,我怎麼知道使用「腳本」。 「Scripting.FileSystemObject」的一部分?你去哪裏看那個?
這是它在HKCR鍵註冊在Windows註冊表中的組件的ProgID:
HKEY_CLASSES_ROOT\Scripting.FileSystemObject
進程id的是COM對象的人類可讀的標識符。他們指出,實際的CLSID,在這種情況下是:
HKEY_CLASSES_ROOT\CLSID\{0D43FE01-F093-11CF-8940-00A0C9054228}
在這裏,你可以找到實際的COM .dll文件,其中包括組件的實現的地方。
在您提供的第一個示例代碼中,您正在進行早期綁定,而在第二個示例代碼中,您正在執行遲到綁定。
我會通過在MSDN庫中搜索FileSystemObject的在http://msdn.microsoft.com/library
該網站開始是座文檔的完整,包括如何調用創建對象的細節。
使用VB6 IDE,選擇Project,References,然後選擇引用'Microsoft Scripting Runtime'。
如果您不知道引用的調用方式,則可以使用「引用」對話框的「瀏覽」按鈕來選擇文件/系統32/scrrun.dll。
選擇參考,關閉參考對話框,然後打開對象瀏覽器(視圖菜單)。將下拉菜單更改爲最有可能的候選人,即'腳本'。這將顯示庫的類,其中一個是'FileSystemObject'。因此,你會發現CreateObject所需的字符串是'Scripting.FileSystemObject'。
如果您不知道參考名稱或文件名,但您確實知道類名稱,那麼您可以在註冊表中搜索「FileSystemObject」,並且很快就會發現您需要的完全限定名稱是' Scripting.FileSystemObject的」。