Di Access, fungsi CreateObject digunakan untuk menampilkan referensi ke sebuah objek ActiveX.
Sintaks penulisan fungsi CreateObject adalah sebagai berikut:
Keterangan:
Class: wajib diisi, berupa tipe data Variant (String). Class merupakan nama aplikasi dari objek yang akan dibuat.
Servername: Tidak wajib diisi, berupa tipe data Variant (String). Servername adalah nama server jaringan di mana objek akan dibuat. Jika Servername kosong, server jaringan berada di kommputer lokal.
Sintaks penulisan Class adalah sebagai berikut:
dalam hal ini, appname.objecttype mempunyai beberapa bagian:
appname: wajib diisi, tipe data Variant (String), merupakan nama aplikasi, misalnya, Excel, Word, dan sebagainya.
objecttype: wajib diisi, tipe data Variant (String), merupakan tipe atau class dari objek yang ingin dibuat, msalnya worksheet, toolbar, dan sebagainya.
Untuk membuat objek ActiveX, kita menggunakan fungsi CreateObject seperti contoh berikut ini.
Catatan: Atur referensi VBA ke Microsoft Excel (nomor versi) Object Library, melalui menu Tools lalu pilih References... dan beri tanda centang pada Microsoft Excel (nomor versi) Object Library.
Supaya tidak "terlihat bingung", adalah lebih baik bila deklarasi dibuat lebih spesifik, mengacu pada objek yang sudah ditentukan. Contohnya seperti berikut ini.
Selain objek aplikasi (Excel, Word, dsb), kita juga bisa membuat objek untuk sebuah komputer jaringan lokal. Komputer di jaringan lokal ini berupa nama komputer seperti "\\Komputer1", "\\PCDesktop2", dan sebagainya. Dalam contoh itu, nama komputer adalah Komputer1 dan PCDesktoop2.
Contoh berikut ini dapat digunakan untuk menampilkan aplikasi excel di komputer jaringan lokal yang bernama PCDesktop2.
Berikut ini adalah contoh kode VBA dalam penggunaan fungsi CreateObject untuk mengatur referensi (xlApp) ke Excel. Kode VBA di bawah ini menggunakan referensi untuk mengakses properti Visible dari Excel. Setelah itu, untuk keluar dari Excel, kode VBA menggunakan metode Excel Quit. Terakhir, supaya dapat menggunakan objek lain, maka objek yang sudah ada harus dikosongkan dengan pernyataan "Nothing".
Sintaks penulisan fungsi CreateObject adalah sebagai berikut:
CreateObject (Class [, Servername])
Keterangan:
Class: wajib diisi, berupa tipe data Variant (String). Class merupakan nama aplikasi dari objek yang akan dibuat.
Servername: Tidak wajib diisi, berupa tipe data Variant (String). Servername adalah nama server jaringan di mana objek akan dibuat. Jika Servername kosong, server jaringan berada di kommputer lokal.
Sintaks penulisan Class adalah sebagai berikut:
appname.objecttype
dalam hal ini, appname.objecttype mempunyai beberapa bagian:
appname: wajib diisi, tipe data Variant (String), merupakan nama aplikasi, misalnya, Excel, Word, dan sebagainya.
objecttype: wajib diisi, tipe data Variant (String), merupakan tipe atau class dari objek yang ingin dibuat, msalnya worksheet, toolbar, dan sebagainya.
Untuk membuat objek ActiveX, kita menggunakan fungsi CreateObject seperti contoh berikut ini.
' Deklarasi sebuat objek di Worksheet Excel Dim ExcelSheet As Object Set ExcelSheet = CreateObject("Excel.Sheet")Kode VBA di atas digunakan untuk membuat objek worksheet/spreadsheet Excel. Setelah itu kita menggunakan objek di atas untuk memperbarui data di dalam worksheet. Contohnya seperti berikut ini.
Catatan: Atur referensi VBA ke Microsoft Excel (nomor versi) Object Library, melalui menu Tools lalu pilih References... dan beri tanda centang pada Microsoft Excel (nomor versi) Object Library.
' menampilkan aplikasi Excel melalui Application object. ExcelSheet.Application.Visible = True ' mengisi data dalam sebuah cell. ExcelSheet.Application.Cells(1, 1).Value = "Sel A1, baris 1 kolom 1 excel" ' menyimpan excel dengan nama C:\test.xls. ExcelSheet.SaveAs "C:\TEST.XLS" ' menutup Excel dengan metode Quit dalam Application object. ExcelSheet.Application.Quit ' mengosongkan kembali objek yang sudah ditetapkan. Set ExcelSheet = NothingMendeklarasikan variabel objek seperti pada pernyataan "Dim ExcelSheet As Object" dapat diartikan oleh Access sebagai referensi ke tipe objek apa pun, karena objek pada pernyataan itu tidak ditujukan secara spesifik. Padahal, objek dalam VBA Access bisa bermacam-macam, ada objek Excel, File, Word, PDF, dan lain sebagainya.
Supaya tidak "terlihat bingung", adalah lebih baik bila deklarasi dibuat lebih spesifik, mengacu pada objek yang sudah ditentukan. Contohnya seperti berikut ini.
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) xlBook.Application.Visible = True xlSheet.Cells(1, 1).Value = "Sel A1, baris 1 kolom 1" xlBook.SaveAs "C:\TEST1.XLSX" xlBook.Application.Quit Set xlBook = NothingReferensi objek spesifik ke Excel seperti contoh di atas, dari sisi kinerja, akan dieksekusi dengan lebih cepat dari pada objek yang sifatnya umum.
Selain objek aplikasi (Excel, Word, dsb), kita juga bisa membuat objek untuk sebuah komputer jaringan lokal. Komputer di jaringan lokal ini berupa nama komputer seperti "\\Komputer1", "\\PCDesktop2", dan sebagainya. Dalam contoh itu, nama komputer adalah Komputer1 dan PCDesktoop2.
Contoh berikut ini dapat digunakan untuk menampilkan aplikasi excel di komputer jaringan lokal yang bernama PCDesktop2.
Dim xlApp As Object Set xlApp = CreateObject("Excel.Application", "PCDesktop2") Debug.Print xlApp.VersionFungsi CreateObject digunakan ketika tidak ada objek lain yang sedang berjalan.Jika ada objek lain sedang berjalan, maka hanya ada satu objek itu yang dibuat.
Berikut ini adalah contoh kode VBA dalam penggunaan fungsi CreateObject untuk mengatur referensi (xlApp) ke Excel. Kode VBA di bawah ini menggunakan referensi untuk mengakses properti Visible dari Excel. Setelah itu, untuk keluar dari Excel, kode VBA menggunakan metode Excel Quit. Terakhir, supaya dapat menggunakan objek lain, maka objek yang sudah ada harus dikosongkan dengan pernyataan "Nothing".
Function contohCreateObject() 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) xlBook.Application.Visible = True xlSheet.Cells(1, 1).Value = "Sel A1, baris 1 kolom 1 excel" xlBook.SaveAs "C:\TEST1.XLSx" xlBook.Application.Quit Set xlApp = Nothing End FunctionTerakhir, selalu akhiri pernyataan set sebuah objek dengan menggunakan perintah berikut ini:
Set .... = Nothingsupaya tidak ada objek yang menggantung di memori sementara yang dapat mengganggu kinerja komputer. Dalam contoh di atas, perintah Set xlBook = Nothing, segera setelah pernyataan xlBook.Application.Quit, akan mengosongkan semua objek yang diatur dalam workbook.
Comments
Post a Comment