Mengenal Object Model Pada Vba Excel #10
Object VBA Excel - Artikel ini merupakan seri ke-10 yang membahas ihwal Macro VBA Excel. Sebelum melanjutkan membaca sebaiknya Anda sudah selesai mempelajari 9 tutorial VBA Excel sebelumnya yang bisa Anda temukan pada halaman berikut: Seri tutorial VBA Excel.
Pada seri ini akan membahas mengenai Object VBA Excel.
Tentang Object Oriented Progamming (OOP)
Perlu Anda tahu bahwa VBA Excel merupakan bahasa pemrograman yang berorientasi pada object (Object Oriented Programming) atau disingkat OOP. Bagi yang sudah terbiasa dengan pemrograman saya yakin istilah OOP ini sudah tidak absurd lagi.
Untuk yang masih awam barang kali akan bertanya "Apa yang dimaksud dengan pemrograman berorientasi object?"
OOP (Object Oriented Programming) atau pemrograman berorientasikan objek (PBO) yakni suatu metode pemrograman yang berorientasi kepada objek. Tujuan adanya OOP yakni untuk mempermudah developer dalam menyebarkan sebuah aktivitas atau aplikasi dengan cara mengikuti model yang telah ada dalam kehidupan sehari-hari.
Dalam kehidupan sehari-hari, Anda sanggup membayangkan objek yakni sebuah benda dengan fungsi tertentu. Handphone sebagai alat komunikasi misalnya. Sebuah objek sanggup tersusun atas beberapa objek lain yang lebih kecil. Pada pola Handphone contohnya terbuat atas keypad, monitor, baterai, casing, dan piranti piranti kecil lainnya yang masing-masing tentunya juga mempunyai bagian-bagian penyusun lainnya.
Mengenai OOP (Object Oriented Programming) ini silahkan Anda mencari informasi lebih lanjut di Google.
Microsoft Excel Object
Object pada Excel yakni Sebuah bentuk benda pada aplikasi excel yang berisi sekumpulan data serta mencerminkan sesuatu dan kemampuan melaksanakan sesuatu atau merespon perlakuan terhadapnya sebagai satu kesatuan.
Bentuk Object Excel yang sering akan digunakan contohnya workbook, worksheet, range, cell, chart dan lain sebagainya.
Member Object
Masing-masing objek pada VBA Excel umumnya mempunyai ciri, potensi dan respon-respon tertentu dimana satu dan lainnya saling terkait.
Komponen sebuah object ini disebut sebagai member. Penyusunnya bisa berupa nilai-nilai atribut tertentu, object-object lainnya, mekanisme untuk melaksanakan sesuatu atau untuk mendapatkan respon perlakuan terhadap objek tersebut.
Member-member object tersebut sanggup dikelompokkan menjadi 3 bagian, yaitu :
- Property
- Data yang mengatakan ciri khusus atau serpihan sebuah object. Biasa digunakan untuk mengatur atau mengambil nilai sebuah object.
- Methods
- Merupakan sebuah mekanisme atau fungsi untuk melaksanakan sebuah kiprah tertentu pada object
- Events
- Merupakan sebuah mekanisme atau fungsi yang dipicu ketika sebuah event, insiden atau aktifitas tertentu terjadi pada object.
Sebuah worksheet contohnya memiliki:
- Property: Name, Columns, Rows, Range, Cells, Comments, PageSetup, AutoFilter dan lain sebagainya.
- Methods: Activate, Calculate, Copy, Paste, PasteSpecial, Delete, Move, PrintOut, PrintPreview, Protect, dll.
- Events: Activate, BeforeDelete, BeforeDoubleClick, Change, Deactivate, SelectionChange, dll.
Anda dengan gampang sanggup mengetahui setiap object dan member-membernya dengan membuka Object browser pada VBE memakai shortcut F2 atau tombol yang tersedia pada standart toolbar.
Tentang VBE sudah kita ulas sebelumnya. Jika belum Anda baca bisa Anda pelajari pada halaman berikut: Visual Basic Editor.
Masing-masing jenis member bisa pada object browser diatas bisa Anda kenali dari ikon-ikon yang ada di sebelah nama member terkait. Penjelasan mengenai ikon lain pada object browser ini bisa Anda baca pada halaman Docs Microsoft ini.
Collection VBA
Saat membuka Object Browser pada VBE jangan heran kalau Anda menemukan ada object Worksheet (tanpa "s") dan Worksheets (dengan "s") atau Workbook dan Workbooks.
Selain object yang ada wujudnya, Excel juga mengenal Object yang berbentuk wadah atau koleksi dari object yang sama. Object semacam ini biasa disebut sebagai collection.
Kaprikornus Collection juga merupakan sebuah object yang tujuannya yakni untuk mengelompokkan object-object lain yang mempunyai Class yang sama.
Contoh Collection pada VBA Excel yang umum digunakan misalnya:
- Workbooks: Koleksi satu atau beberapa workbook yang sedang di buka.
- Worksheets: Koleksi satu atau beberapa worksheet sebuah workbook excel.
- Charts: Koleksi sekumpulan chart pada sebuah workbook.
- Sheets: Kumpulan Worksheet dan juga termasuk Chart pada sebuah workbook.
Hirarki Object VBA
Object-object pada microsoft excel tersusun atas hirarki dari serpihan yang lebih besar atau terluar menuju bagian-bagian penyusun yang lebih kecil (lebih dalam) dari semua objek yang sanggup Anda gunakan pada pemrograman VBA Excel.
Object terbesar atau terluar dari sebuah aplikasi yakni Application atau aplikasi itu sendiri yang dalam hal ini yakni atau Microsoft Excel sendiri. Meskipun demikian bukan berarti Application merupakan object tertinggi lantaran excel sendiri intinya juga bisa berinteraksi dengan aplikasi yang lain.
Object Application (Excel) memuat beberapa object lain misalnya: AddIn, Windows dan Workbooks.
Masing-masing object ini sanggup memuat juga beberapa object lainnya. Misalnya pada object Workbook sanggup memuat object:
- Charts yang berisi object-object chart
- Names yang berisi nama-nama object
- VBProjects yang mewakili project pada workbook yang sedang terbuka.
- Windows yang pada level ini memuat object Window pada sebuah workbook tertentu.
- Worksheets yang memuat object Worksheet.
Selanjutnya sebuah object worksheet sanggup memuat object lain, misalnya:
- Comment: memuat komentar cell.
- Hyperlink: memuat hyperlink
- Name: Memuat nama range atau defined name.
- PageSetup: Memuat informasi pengaturan halaman print.
- PivotTables: Memuat object PivotTable.
- Range: Memuat cells, rows, columns, selections dan lain-lain.
Hiraraki diatas tentu saja hanya sekedar contoh, faktanya cukup banyak object-object lain yang salahsatunya bisa Anda pelajari pada halaman microsoft berikut: Object Model.
Memahami alur hirarki object ini cukup penting lantaran hirarki ini akan menentukan bagaimana arahan vba kita susun untuk memakai setiap object yang kita perlukan sehingga tidak salah alamat.
Misalnya bagaimana memanipulasi cell A1 untuk kita isi teks "Belajar VBA" pada sheet1, jangan hingga kesannya malah kesasar muncul di Cell A1 pada Sheet2. Juga bagaimana kalau kita bermaksud memasukkan teks "" pada cell A1 pada worksheet manapun yang sedang aktif.
Lalu bagaimana cara memakai object-object VBA excel ini?
Cara Menggunakan Object VBA Excel
Memahami cara merujuk sebuah object ketika menyusun arahan VBA Excel sangatlah penting. Sebab bagaimanapun ketika menulis arahan VBA Excel, Anda harus mamapu mengidentifikasi setiap object yang akan dimanipulasi atau digunakan.
Seperti yang dijelaskan sebelumnya bahwa object mempunyai hirarki dari terluar hingga terdalam sesuai daftar member dan peta object tersebut.
Setiap penggunaan property atau methods dari object yang akan digunakan selalu diawali dengan menyebut nama object terluar menuju object terdalam atau lebih kecil hingga datang pada property atau methods yang dibutuhkan. Untuk menghubungkan masing-masing object tersebut memakai tanda titik.
Sintaksisnya menyerupai berikut:
ObjectTerluar.Object1.Object12.Object123.ObjectLainnya.(property/methods)
Misal untuk hingga pada methods Activate pada object Range Anda membutuhkan untuk mengakses arahan berikut:
Application.Workbooks.Worksheets.Range.Activate
Dimana Application yakni object terluar excel kemudian Workbooks yakni object didalam Application dan seterusnya hingga pada methode Activate yang dimiliki oleh Range.
Karakter titik atau dot(.) pada penulisan arahan diatas merupakan arahan untuk menghubungkan antar object satu dengan object lain pada hirarki di bawahnya.
Jangan tergesa-gesa dulu. kalau benar-benar Anda tulis arahan diatas hasilnya yakni sebuah error. Kode di atas sebatas kerangka dasar saja untuk membantu memahami bagaimana cara merujuk pada sebuah object VBA Excel.
Referensi Pada Collection Object
Kemungkinan besar ketika menciptakan atau menulis arahan VBA Anda akan sering bersentuhan dengan collection.
Selain menciptakan rujukan pada sebuah object collection secara utuh Anda juga sanggup menentukan merujuk pada sebagian isi pada collection. Setidaknya Anda sanggup melakukannya dengan 2 cara: Menggunakan nama objek atau nomor indexnya pada collection.
Menggunakan Nama Object
Untuk mengakses Collection dengan nama object sitaksisnya yakni sebagai berikut:
NamaCollections(Nama_Object)
- Tulis Nama Collection diikuti dengan tanda kurung ()
- Nama Object dituliskan didalam Tanda kurung dengan di apit tanda petik.
Contohnya pada sebuah workbook dengan nama "Laporan.xlsm" terdapat 3 worksheet dengan nama Sheet1, Sheet2 dan Sheet3. Untuk memakai method Activate pada sheet 2 codenya adalah:
Application.Workbooks("Laporan.xlsm").Worksheets("Sheet2").Activate
atau
Application.Workbooks("Laporan.xlsm").Sheets("Sheet2").Activate
Maksud arahan diatas yakni mengaktifkan Sheet2 pada file Laporan.xlsm yang sedang terbuka.
Menggunakan Nomor Index Object
Selain memakai nama object, Anda sanggup juga mengakses Collection dengan nomor indexnya. Sintaksisnya yakni sebagai berikut:
NamaCollections(NO_Index_Object)
- Tulis Nama Collection diikuti dengan tanda kurung ()
- Nomor Index dituliskan didalam Tanda kurung tanpa tanda petik.
Dengan nomor Index, untuk pola sebelumnya bisa Anda gunakan arahan berikut:
Application.Workbooks("Laporan.xlsm").Worksheets(2).Activate
atau
Application.Workbooks("Laporan.xlsm").Sheets(2).Activate
Menyederhanakan Penulisan Referensi Pada Object
Jika sebuah rujukan pada object ditulis sepenuhnya menyerupai cara di atas, tentunya arahan VBA yang kita tulis akan sangat panjang. Selain memperlambat penulisan arahan kemungkinan model semacam itu juga malah akan mempersulit kita ketika membaca kode. Meskipun dalam perkara tertentu boleh jadi malah sebaliknya.
Untuk itu ada beberapa cara untuk menyederhanakan arahan penulisan atau menciptakan rujukan pada sebuah object VBA Excel.
Konsep sederhanya yakni bahwa kalau sebuah rujukan object tidak ditulis secara utuh dari object yang paling luar, maka VBA akan mengasumsikan Anda bermaksud merujuk pada object-object yang sedang aktif.
Object Application
Saat bekerja dengan excel maka object defaultnya yakni Application. Kemungkinan besar yang Anda maksudkan disini yakni excel itu sendiri sehingga Anda tidak perlu mereferensikan object Application.
Untuk menyederhanakan penulisan arahan sebelumnya Anda bisa tidak menyertakan Application. Cukup ditulis sebagai berikut:
Workbooks("Laporan.xlsm").Worksheets("Sheet2").Activate
The Active Workbook and Worksheet
Jika Anda sedang menulis arahan VBA Excel pada standart module maka secara default VBA akan menganggap object luar yang Anda tuju yakni workbook yang sedang aktif. Sehingga arahan sebelumnya bisa Anda sederhanakan menjadi:
Worksheets("Sheet2").Activate
Jika Anda bermaksud merujuk pada workbook lain tentu harus ditulis lebih lengkap.
Begitu pula kalau Anda bermaksud bekerja dengan sebuah object Range. Jika ditulis secara sederhana maka VBA secara default menganggap yang Anda tuju yakni range pada worksheet yang aktif, misalnya:
Range("A1") = ""
Kode ini kalau dijalankan akan mengisi cell/range A1 pada worksheet yang aktif dengan teks "".
Model penyederhanaan ini tentu Ada resikonya, yakni terjadinya salah alamat ketika arahan dijalankan. Untuk itu Anda harus benar-benar jeli dalam peulisan arahan VBA.
Selain itu, penyederhanaan diatas hanya berlaku pada module Standart. Jika Anda menuliskan arahan pada module Sheet atau Workbook maka VBA secara default selalu menganggap Anda sedang menargetkan worksheet atau workbook dimana arahan tersebut ditulis.
Cara lain untuk menyederhanakan penulisan arahan VBA yakni dengan memakai arahan blok perintah With... End With yang akan dijelaskan lain waktu.
Untuk seri tutorial VBA ihwal Object kali ini saya kira cukup hingga disini dulu. Jika Masih ada pertanyaan silahkan disampaikan melalui kolom komentar yang tersedia.
Sampai jumpa pada seri berikutnya dan silahkan dibookmark serta jangan ragu untuk klik share semoga lebih banyak kawan-kawan Anda yang ikut mendapatkan manfaatnya.
Selamat belajar.
Salam .
Post a Comment for "Mengenal Object Model Pada Vba Excel #10"