CreateObject 函式
建立並傳回 ActiveX 物件的參考。
語法
CreateObject(class, [ servername ])
CreateObject 函式語法具有下列組件:
組件 | 描述 |
---|---|
類別 | 需要此項目; 變體 (字串)。 應用程式名稱和要建立的物件類別。 |
servername | 選用; 變體 (字串)。 建立物件所在的網路伺服器名稱。 如果 servername 是空白字串 (""),則會使用本機電腦。 |
類別自變數會使用語法 appname。objecttype 和 具有下列部分:
部分 | 描述 |
---|---|
appname | 需要此項目; 變體 (字串)。 提供物件的應用程式名稱。 |
objecttype | 需要此項目; 變體 (字串)。 輸入要建立的物件類型或類別。 |
註解
支援自動化的每個應用程式都會提供至少一個物件類型。 例如,文字處理應用程式可能會提供應用程式物件、文件物件和工具列物件。
若要建立 ActiveX 物件,請將 CreateObject 傳回的物件指派給物件變數。
' Declare an object variable to hold the object
' reference. Dim as Object causes late binding.
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Sheet")
此程式碼會使應用程式開始建立物件 (在此案例中為 Microsoft Excel 試算表)。 建立物件後,您可以使用所定義的物件變數在程式碼中參考此物件。 在下列範例中,您可使用物件變數 (ExcelSheet
) 和其他 Microsoft Excel 物件,包括 Application
物件和 Cells
集合,來存取新物件的屬性和方法。
' Make Excel visible through the Application object.
ExcelSheet.Application.Visible = True
' Place some text in the first cell of the sheet.
ExcelSheet.Application.Cells(1, 1).Value = "This is column A, row 1"
' Save the sheet to C:\test.xls directory.
ExcelSheet.SaveAs "C:\TEST.XLS"
' Close Excel with the Quit method on the Application object.
ExcelSheet.Application.Quit
' Release the object variable.
Set ExcelSheet = Nothing
使用 As Object
子句宣告物件變數所建立的變數,可包含任何物件類型的參考。 不過,透過該變數存取物件屬於晚期繫結;也就是說,繫結會在程式執行時發生。 若要建立引發早期繫結的物件變數 (也就是在編譯程式時繫結物件),請使用特定類別識別碼宣告物件變數。 例如,您可以宣告並建立下列 Microsoft Excel 參考:
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.WorkSheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
透過早期繫結變數建立的參考可提供更好的效能,但只能包含宣告中指定的類別參考。
針對 CreateObject 函式傳回的物件,您可以將其傳遞至預期有物件作為引數的函式。 例如,下列程式碼會建立參考,並將其傳遞給 Excel.Application 物件:
Call MySub (CreateObject("Excel.Application"))
您可以藉由將電腦名稱傳遞給 CreateObject 的 servername 引數,從遠端網路的電腦上建立物件。 該名稱與共用名的 [機器名稱] 部分相同;對於名為 “\MyServer\Public” 的共用, 伺服器名稱為 “MyServer”。
下列程式碼會針對遠端電腦 MyServer
上執行的 Excel 執行個體傳回版本號碼:
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer")
Debug.Print xlApp.Version
如果遠端伺服器不存在或無法使用,就會發生執行階段錯誤。
注意事項
若沒有現有的物件執行個體,應使用 CreateObject。 如果物件執行個體已在執行中,則新的執行個體會啟動,然後建立特定類型的物件。 若要使用目前的執行個體,或啟動應用程式並讓其載入檔案,請使用 GetObject 函式。
如果物件本身已註冊為單一執行個體物件,則無論執行多少次 CreateObject,依然只會建立一個物件執行個體。
範例
此範例使用 CreateObject 函式來設定 Microsoft Excel 的參考 (xlApp
)。 其使用參考來存取 Microsoft Excel 的 Visible 屬性,然後使用 Microsoft Excel 的 Quit 方法來結束動作。 最後,發行參考本身。
Dim xlApp As Object ' Declare variable to hold the reference.
Set xlApp = CreateObject("excel.application")
' You may have to set Visible property to True
' if you want to see the application.
xlApp.Visible = True
' Use xlApp to access Microsoft Excel's
' other objects.
' Closes the application using the Quit method
xlApp.Quit
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。