Fungsi CreateObject

Berlaku Untuk
Access untuk Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Catatan

Fungsi, metode, objek, atau properti yang dijelaskan dalam topik ini dinonaktifkan jika Layanan Ekspresi Microsoft Jet berjalan dalam mode kotak pasir, yang mencegah evaluasi ekspresi yang berpotensi tidak aman. Untuk informasi selengkapnya tentang mode kotak pasir, cari "mode kotak pasir" di Bantuan.

Membuat dan mengembalikan referensi ke objek ActiveX.

Sintaks

CreateObject(kelas [, nama server] )

Sintaks fungsi CreateObject memiliki argumen berikut:

Argumen Deskripsi
kelas Diperlukan. varian (string). Nama aplikasi dan kelas objek yang akan dibuat.
nama server Opsional. varian (string). Nama server jaringan tempat objek akan dibuat. Jika nama server adalah string kosong (""), komputer lokal digunakan.

    

Argumen kelasmenggunakan sintaks appname.objecttype dan memiliki bagian-bagian berikut:

Bagian Deskripsi
nama aplikasi Diperlukan. varian (string). Nama aplikasi yang menyediakan objek.
tipe objek Diperlukan. varian (string). Jenis atau kelas objek yang akan dibuat.

    

Keterangan

Setiap aplikasi yang mendukung otomatisasi menyediakan setidaknya satu jenis objek. Misalnya, aplikasi pengolah kata dapat menyediakan objek Aplikasi , objek Dokumen , dan objek Toolbar .

Untuk membuat objek ActiveX, tetapkan objek yang dihasilkan oleh CreateObject ke variabel objek:

Catatan

Contoh yang mengikuti demonstrasi penggunaan fungsi ini dalam modul Visual Basic for Applications (VBA). Untuk informasi selengkapnya tentang bekerja dengan VBA, pilih Referensi Pengembang di daftar turun bawah di samping Cari dan masukkan satu istilah atau lebih di kotak pencarian.

' Declare an object variable to hold the object 
' reference. Dim as Object causes late binding. 
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Sheet")

Dalam contoh ini, kita akan mengotomatiskan objek lembar bentang Excel dari dalam database Access. Kode ini memulai aplikasi yang membuat objek, dalam hal ini, lembar bentang Microsoft Excel. Setelah objek dibuat, Anda mereferensikannya dalam kode menggunakan variabel objek yang Anda tentukan. Dalam contoh berikut, Anda mengakses properti dan metode objek baru menggunakan variabel objek, ExcelSheet, dan objek Excel lainnya, termasuk Application objek dan Cells koleksi.

' 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

Mendeklarasikan variabel objek dengan klausa akan As Object membuat variabel yang dapat berisi referensi ke semua jenis objek. Namun, akses ke objek melalui variabel itu terlambat; Artinya, pengikatan terjadi saat program Anda dijalankan. Untuk membuat variabel objek yang menghasilkan pengikatan awal, yaitu mengikat saat program dikompilasi, deklarasikan variabel objek dengan ID kelas tertentu. Misalnya, Anda dapat mendeklarasikan dan membuat referensi Excel berikut:

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)

Referensi melalui variabel terikat awal dapat memberikan performa yang lebih baik, tetapi hanya dapat berisi referensi ke kelas yang ditentukan dalam deklarasi.

Anda dapat meneruskan objek yang dihasilkan oleh fungsi CreateObject ke fungsi yang mengharapkan objek sebagai argumen. Sebagai contoh, kode berikut membuat dan meneruskan referensi ke objek Excel.Application:

Call MySub (CreateObject("Excel.Application"))

Anda dapat membuat objek di komputer jaringan jarak jauh dengan meneruskan nama komputer ke argumen nama serverCreateObject. Nama tersebut sama dengan bagian Nama Mesin dari nama bersama: untuk berbagi bernama "\\MyServer\Public," nama server adalah "MyServer."

Catatan

Lihat dokumentasi COM (lihat Jaringan Pengembang Microsoft) untuk informasi tambahan tentang membuat aplikasi terlihat di komputer jaringan jarak jauh. Anda mungkin perlu menambahkan kunci registri untuk aplikasi Anda.

Kode berikut mengembalikan nomor versi instans Excel yang berjalan di komputer jarak jauh bernama MyServer:

Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer")
Debug.Print xlApp.Version

Jika server jarak jauh tidak ada atau tidak tersedia, kesalahan run-time akan terjadi.

Catatan

Gunakan CreateObject ketika tidak ada instance objek saat ini. Jika instans objek sudah berjalan, instans baru akan dimulai, dan objek dari jenis tertentu dibuat. Untuk menggunakan instans saat ini, atau memulai aplikasi dan memuat file, gunakan fungsi GetObject .

Jika objek telah mendaftarkan dirinya sendiri sebagai objek instans tunggal, hanya satu instans objek yang dibuat, tidak peduli berapa kali CreateObject dieksekusi.

Contoh

Contoh ini menggunakan fungsi CreateObject untuk mengatur referensi (

xlApp

) ke Excel. Ini menggunakan referensi untuk mengakses properti Visible Excel, lalu menggunakan metode Excel Quit untuk menutupnya. Akhirnya, referensi itu sendiri dirilis.

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.
xlApp.Quit    ' When you finish, use the Quit method to close 
Set xlApp = Nothing    ' the application, then release the reference.