CreateObject 函式

建立並傳回 ActiveX 物件的參考。

語法

CreateObject(class, [ servername ])

CreateObject 函式語法具有下列組件:

組件 描述
類別 需要此項目; 變體 (字串)。 應用程式名稱和要建立的物件類別。
servername 選用; 變體 (字串)。 建立物件所在的網路伺服器名稱。 如果 servername 是空白字串 (""),則會使用本機電腦。

類別引數會使用語法appnameobjecttype和 具有下列部分:

部分 描述
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"))

您可以藉由將電腦名稱傳遞給 CreateObjectservername 引數,從遠端網路的電腦上建立物件。 該名稱與共享名的 [機器名稱] 部分相同;對於名為 「\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 支援與意見反應