Kelas VBA - Bagaimana Membuat Kelas & Objek Tersuai di VBA?

Isi kandungan

Modul Kelas VBA Excel

Kelas VBA membolehkan kami membuat fungsi Objek kami sendiri di mana kami dapat menambahkan segala jenis ciri, perincian baris perintah, jenis fungsi. Apabila kita membuat Kelas dalam VBA, mereka bertindak seperti fungsi objek yang bebas tetapi semuanya saling terhubung.

Ini membantu kami dalam membina aplikasi seperti yang sudah ada di VBA dan Excel. Contohnya, roda putaran mengayuh berputar. Pedal dan Roda keduanya adalah bahagian Cycle, tetapi kedua-duanya berfungsi secara bebas untuk memberikan output sebagai kitaran bergerak.

Bagaimana Membuat Kelas & Objek Tersuai di VBA?

Mari kita perhatikan contoh 3 telefon bimbit syarikat yang berbeza, iaitu Apple, Samsung, dan Nokia-mempertimbangkan telefon bimbit yang popular dan baru dilancarkan syarikat-syarikat ini, iaitu iPhone X, Samsung S8, dan Nokia 7+.

Kami akan membandingkan beberapa ciri penting untuk telefon bimbit ini, seperti Jenama, Model, Ukuran Skrin, Jenis Kamera, dan Jenis Pengecas. Ini adalah ciri penting pada asasnya. Kami kebanyakannya membandingkan mana-mana telefon bimbit. Di bawah ini kami telah memetakan parameter yang dibincangkan di atas dalam carta.

Di tetingkap VBA dari menu Sisipkan , pilih Modul Kelas, seperti yang ditunjukkan di bawah.

Kami akan mendapatkan tetingkap modul Kelas bermula dengan Option Explicit, seperti gambar di bawah.

Option Explicit memastikan bahawa pemboleh ubah mesti diisytiharkan sebelum digunakan. Sekiranya kita tidak menyatakan pemboleh ubah dan menggunakannya, maka sistem akan membuang kesalahan. Sekarang di Kelas, tentukan semua parameter pengukuran telefon bimbit yang dibincangkan dengan Orang Awam . Ini akan menjadikan parameter yang ditentukan terbuka untuk digunakan kapan saja, di mana sahaja, tanpa batasan.

Kod:

Opsyen Eksplisit 'Senarai hartanah Merk Public Sebagai String Public Model Sebagai String Public ScreenSize As String Public CameraJenis Sebagai String Public ChargerJenis Sebagai String

Sekarang kita akan menambahkan proses operasi, fitur, dan fungsi ponsel yang berbeza, seperti memulai telepon, Mematikan telefon, memainkan muzik, mengecas bateri, dan lain-lain dengan Subkategori untuk setiap fungsi seperti yang ditunjukkan di bawah. Dan tambahkan kotak mesej di setiap gelung Subkategori sehingga kita dapat melihat kaedah mana yang sedang dijalankan.

Kod:

'Kemungkinan Teknik Sub MobileStart () MsgBox "Mobile Menghidupkan" End Sub
Sub MobileOff () MsgBox "Mudah Alih Mematikan" Sub Akhir
Sub PlayMusic () MsgBox "Sistem audio kini berfungsi" End Sub
Sub BatteryCharge () MsgBox "Pengecas sedang dipasang" End Sub

Ini melengkapkan penciptaan Kelas. Sebelum kita melangkah lebih jauh, disarankan untuk menukar nama Modul Kelas. Pilih nama apa sahaja mengikut keperluan anda kerana kami menukarnya menjadi Mudah Alih .

Sekarang kita akan menulis kod dalam modul di mana kita akan melihat dan membandingkan ciri dan fungsi setiap jenama telefon bimbit. Untuk ini, kita perlu menambahkan Modul dengan pergi ke sana di bawah menu Insert seperti menu yang ditunjukkan.

Kami akan membuka modul baru dengan mengaktifkan Option Explicit semasa ini kami sedang berusaha dan membuat kelas. Sekarang mulailah menulis Subkategori atas nama fungsi yang dilaksanakan seperti gambar di bawah.

Kita boleh menukar nama Modul seperti yang kita lakukan untuk Kelas. Ini membantu kami menjaga identiti bersama kod VBA yang dibuat. Ini dapat dilakukan dari tetingkap sifat, seperti yang ditunjukkan di bawah.

Kami telah menentukan pelbagai ciri, fungsi, dan kaedah semua telefon bimbit jenama. Sekarang mari kita tentukan 3 pemboleh ubah dalam nama apa pun (Sebaiknya atas nama jenama telefon bimbit) dan berikannya kepada Mudah Alih. Mari mulakan dengan iPhone terlebih dahulu, seperti gambar di bawah.

Begitu juga, lakukan perkara yang sama untuk jenama telefon bimbit yang lain, seperti gambar di bawah.

Dengan ini, kami menetapkan Kelas yang dibuat untuk setiap pemboleh ubah dimensi jenama Mobile. Sekarang untuk setiap jenama, lakukan proses yang sama untuk menetapkan Kelas .

Sekarang kita perlu menetapkan semua ciri telefon bimbit dan nilainya. Untuk ini, gunakan fungsi Set dan tetapkan ke Mobile Baru, seperti yang ditunjukkan di bawah.

Sekarang buka gelung With-End untuk iPhone. Di sinilah kita akan menentukan setiap atribut telefon bimbit.

Seperti yang kita lihat, kita telah menetapkan semua ciri yang ditentukan dari jenama iPhone dari Kelas dengan nilai tertentu sebagai String.

Lakukan perkara yang sama untuk jenama Samsung dan Nokia juga.

Sekarang kita akan menggunakan DebugPrint untuk mencetak maklumat di tetingkap segera. Ia berguna di mana kita mahu melihat pemboleh ubah tertentu dalam barisan kod. Kami akan memilih pelbagai ciri untuk setiap jenama Mobile, seperti yang ditunjukkan di bawah.

Sekarang menyerahhakkan MobileStarts dan MobileOff operasi berfungsi, yang kita ditakrifkan dalam Kelas kepada setiap jenama mudah alih dalam modul yang sama bersama-sama dengan kotak Mesej. Anda boleh melangkau kotak mesej di sini.

Ini menyelesaikan penugasan Kelas ke Modul. Sekarang kumpulkan kod dan jalankan menggunakan kekunci F5. Kami akan melihat mesej setiap jenama mudah alih, seperti yang ditunjukkan di bawah.

Sekarang, jika anda ingin mengetahui pemboleh ubah dan fungsi apa yang mempunyai nilai apa di dalamnya, untuk itu buka tetingkap Lokal dari tab paparan, yang akan membantu kami mendapatkan perincian ketika kami menyusun kod seperti yang ditunjukkan di bawah.

Kod di bawah adalah untuk Rujukan anda.

Kod:

Sub VBA_Class() Dim iPhone As Mobile Dim Samsung As Mobile Dim Nokia As Mobile Set iPhone = New Mobile With iPhone .Brand = "iPhone" .Model = "iPhone X" .ScreenSize = "6.5 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Regular" End With Set Samsung = New Mobile With Samsung .Brand = "Samsung" .Model = "Samsung S8" .ScreenSize = "5.8 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Power" End With Set Nokia = New Mobile With Nokia .Brand = "Nokia" .Model = "Nokia 7+" .ScreenSize = "6 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Power" End With Debug.Print "Phone Screen Size is: " & iPhone.ScreenSize Debug.Print "Camera of Samsung is: " & Samsung.CameraType Debug.Print "Charger Type is: " & Nokia.ChargerType iPhone.MobileStarts iPhone.MobileOff MsgBox iPhone.Model Samsung.MobileStarts Samsung.MobileOff MsgBox Samsung.Model Nokia.MobileStarts Nokia.MobileOff MsgBox Nokia.Model End Sub

Pros

  • We can build our own application with a lot of features.
  • Once Class is created, we can update any feature, anytime whenever we require.
  • If we update the code, then also it won’t cause any problem in other parts of the Class.
  • We can test the individual part of the application as per our needs.

Cons

  • Initially, it takes a lot of time to create a class in VBA.
  • People who are new to VBA will find the class very difficult to apply.

Things to Remember

  • As the code can be huge and big, so it’s better to compile the code step-by-step. By doing this, we would avoid the N number of errors, which will be difficult for us to debug and resolve.
  • We can ignore the use of Message Box if you are taking and testing the above-written code.
  • Untuk ujian, anda boleh menggunakan teknik atau fungsi yang lebih rendah dalam membuat Kelas. Ini dapat diubah kemudian apabila kita ingin menambahkan lebih banyak fungsi dan teknik produk.
  • Sentiasa mempertimbangkan ciri yang serupa atau sama ketika kita menyelesaikan Kelas dan memberikannya ke Modul. Ini akan membantu kita dalam membandingkan ciri-ciri produk yang berbeza.

Artikel menarik...