GetObject
和CreateObject
是由提供的VBScript COM自動化的一部分。 VBScript不能使用Windows提供的所有COM對象。 VBScript只能使用那些公開名爲編程標識符的字符串的對象(ProgID
)。雖然並非所有COM對象都有一個ProgID,但所有COM對象都有一個128位的數字,稱爲類標識符或CLSID。如果COM對象具有ProgID,則可以使用VBScript來實例化對象,調用其方法和屬性並銷燬對象。
GetObject
和CreateObject
工作的方式相似,但它們的目的不同。
如果您需要創建對象的新實例,請使用CreateObject。
如果您需要引用對象的現有實例,請使用GetObject。
GetObject
函數有兩個可選參數:object's pathname
(即,完整的路徑和文件名)和object's ProgID
。雖然兩個參數都是可選的,但您必須至少指定一個參數。如果您省略兩個參數,則會導致錯誤。例如:
Dim wordDoc
Set wordDoc = GetObject ("FilePath\FileName.doc")
當執行該代碼,以指定的路徑名相關聯的應用被啓動,指定文件中的對象被激活。如果pathname是一個零長度字符串(「」),GetObject將返回一個指定類型的新對象實例。如果省略pathname參數,GetObject將返回指定類型的當前活動對象。如果不存在指定類型的對象,則會發生錯誤。
如果您指定ProgID但不指定路徑名,則結果會因您設置參數的方式而有所不同。如果你在代碼中傳遞一個空字符串作爲第一個參數,如
Set wordApp = GetObject("", "Word.Application")
VBScript中返回Word的應用程序對象的新實例(即表示Word應用程序的對象)。如果省略路徑名的說法,但離開逗號
Set wordApp = GetObject (, "Word.Application")
如果存在的VBScript返回Application對象的現有實例這GetObject調用相當於CreateObject調用
Set wordApp = CreateObject ("Word.Application")
。
欲瞭解更多信息,請this和this鏈接。
App Inventor的別的東西作爲Autodesk Inventor的2013年我更新標記爲你... – Taifun