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(class [, servername] )

Sintaks fungsi CreateObject memiliki argumen ini:

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 classmenggunakan sintaks appname.objecttype dan memiliki bagian ini:

Bagian Deskripsi
nama aplikasi Diperlukan. Varian (String). Nama aplikasi yang menyediakan objek.
tipe objek Diperlukan. Varian (String). Tipe atau kelas objek yang akan dibuat.

    

Keterangan

Setiap aplikasi yang mendukung otomatisasi menyediakan setidaknya satu tipe objek. Misalnya, aplikasi pemrosesan kata mungkin menyediakan objek Aplikasi , objek Dokumen , dan objek Toolbar .

Untuk membuat objek ActiveX, tetapkan objek yang dikembalikan 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, kami akan mengotomatisasi 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 ditentukan. Dalam contoh berikut, Anda mengakses properti dan metode objek baru menggunakan variabel objek, ExcelSheet, dan objek Excel lainnya, termasuk Application objek dan Cells kumpulan.

' 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 As Object klausul membuat variabel yang bisa berisi referensi ke tipe objek apa pun. Namun, akses ke objek melalui variabel tersebut terlambat terikat; yaitu, pengikat terjadi saat program Anda dijalankan. Untuk membuat variabel objek yang menghasilkan pengikatan awal, yaitu, mengikat ketika program dikompilasi, mendeklarasikan variabel objek dengan ID kelas tertentu. Misalnya, Anda bisa 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 awal dapat memberikan kinerja yang lebih baik, tetapi hanya dapat berisi referensi ke kelas yang ditentukan dalam deklarasi.

Anda bisa meneruskan objek yang dikembalikan oleh fungsi CreateObject ke fungsi yang mengharapkan objek sebagai argumen. Misalnya, kode berikut membuat dan memberikan referensi ke objek Excel.Application:

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

Anda bisa membuat objek di komputer jaringan jauh dengan mengirimkan nama komputer ke argumen nama serverCreateObject. Nama tersebut sama dengan bagian Nama Mesin dari nama berbagi: 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 harus 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, terjadi kesalahan run-time.

Catatan

Gunakan CreateObject ketika tidak ada contoh objek saat ini. Jika instans objek sudah berjalan, instans baru dimulai, dan objek dari tipe yang ditentukan dibuat. Untuk menggunakan instans saat ini, atau untuk memulai aplikasi dan memuat file, gunakan fungsi GetObject .

Jika objek telah didaftarkan sebagai objek instans tunggal, hanya satu instans objek yang dibuat, berapa pun berapa kali CreateObject dijalankan.

Contoh

Contoh ini menggunakan fungsi CreateObject untuk mengatur referensi (

xlApp

) ke Excel. Aplikasi ini menggunakan referensi untuk mengakses properti Excel yang terlihat , lalu menggunakan metode Keluar Excel 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.