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. |
Kelasargumen menggunakan nama aplikasi sintaks.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 untuk 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 objek Application dan kumpulan 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
Mendeklarasikan variabel objek dengan klausul As Object 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 terikat 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 Microsoft Developer Network) 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 dari contoh 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.