VBA klase - Kā izveidot pielāgotu klasi un objektus VBA?

Satura rādītājs

Excel VBA klases modulis

VBA klase ļauj mums izveidot savu objekta funkciju, kurā mēs varam pievienot jebkura veida funkcijas, komandrindas detaļas, funkcijas veidu. Kad mēs izveidojam klasi VBA, viņi darbojas kā pilnīgi neatkarīga objekta funkcija, bet viņi visi ir savienoti kopā.

Tas mums palīdz veidot tādas lietojumprogrammas, kādas jau ir VBA un Excel. Piemēram, griežas pedāļa riteņa ritenis. Abi pedāļi un riteņi ir cikla daļas, taču abi strādā neatkarīgi, lai sniegtu izvadi kā kustīgu ciklu.

Kā izveidot pielāgotu klasi un objektus VBA?

Apsvērsim 3 dažādu uzņēmumu mobilo tālruņu piemērus, kas ir Apple, Samsung un Nokia, ņemot vērā šo uzņēmumu populāros un nesen izlaistos mobilos tālruņus, kas ir iPhone X, Samsung S8 un Nokia 7+.

Mēs salīdzināsim dažas svarīgas šo mobilo tālruņu funkcijas, piemēram, zīmolu, modeli, ekrāna izmēru, kameras tipu un lādētāja veidu. Pamatojoties uz to, tās būtībā ir svarīgas iezīmes. Pārsvarā mēs salīdzinām jebkuru mobilo tālruni. Zemāk mēs esam attēlojuši iepriekš apspriestos parametrus diagrammā.

VBA logā no izvēlnes Ievietot atlasiet klases moduli, kā parādīts zemāk.

Mēs saņemsim klases moduļa logu, sākot ar Option Explicit, kā parādīts zemāk.

Opcija Explicit nodrošina, ka mainīgie ir jādeklarē pirms to izmantošanas. Ja mēs nedeklarējam nevienu mainīgo un to neizmantojam, sistēma radīs kļūdu. Tagad klasē, definēt visus apspriestos parametrus mērīšanas mobilo telefonu ar Publisks . Tas padarīs šos definētos parametrus pieejamus jebkurā laikā un vietā bez ierobežojumiem.

Kods:

Opcija Skaidrs 'Īpašumu saraksts Publisks zīmols kā virkne Publisks modelis kā virkne Publisks ekrāna izmērs kā virkne Publiska kamera Tips kā virkne Publisks lādētājs Tips kā virkne

Tagad mēs pievienosim atšķirīgu mobilā tālruņa darbības procesu, funkcijas un funkcijas, piemēram, tālruņa palaišanu, tālruņa izslēgšanu, mūzikas atskaņošanu, akumulatora uzlādi utt. Ar katras funkcijas apakškategoriju, kā parādīts zemāk. Katrā apakškategorijas ciklā pievienojiet ziņojumu lodziņu, lai mēs varētu redzēt, kuras metodes pašlaik darbojas.

Kods:

Iespējamās metodes Sub MobileStarts () MsgBox "Mobile ieslēdzas" End Sub
Izslēgts () MsgBox "Mobilais tālrunis izslēdzas"
Sub PlayMusic () MsgBox "Audio sistēma pašlaik darbojas" End Sub
Sub BatteryCharge () MsgBox "Lādētājs pašlaik ir pievienots" End Sub

Tas pabeidz klases izveidi. Pirms mēs virzāmies tālāk, ieteicams nomainīt klases moduļa nosaukumu. Izvēlieties jebkuru vārdu atbilstoši savai prasībai, jo mēs to mainām uz mobilo .

Tagad mēs rakstīsim kodu modulī, kurā mēs redzēsim un salīdzināsim katra mobilā tālruņa zīmola funkcijas un funkcijas. Lai to izdarītu, mums jāpievieno modulis , dodoties tur zem izvēlnes Ievietot, kā parādīts izvēlnē.

Mēs strādāsim un veidosim klasi, kad tiks atvērts jauns modulis, kurā būs iespējota opcija Explicit. Tagad sāciet rakstīt apakškategoriju veikto funkciju vārdā, kā parādīts zemāk.

Mēs varam mainīt moduļa nosaukumu tāpat kā klasē. Tas mums palīdz saglabāt izveidotā VBA koda kopīgo identitāti. To var izdarīt, izmantojot rekvizītu logus, kā parādīts zemāk.

Mēs jau esam definējuši dažādu zīmolu mobilo tālruņu dažādas funkcijas, funkcijas un metodes. Tagad definēsim 3 mainīgos jebkurā nosaukumā (vēlams mobilā tālruņa zīmola nosaukumā) un piešķiriet to Mobile. Vispirms sāksim ar iPhone, kā parādīts zemāk.

Tāpat rīkojieties tāpat kā pārējā mobilo tālruņu zīmolā, kā parādīts zemāk.

Ar to mēs piešķiram izveidoto klasi katram mobilā zīmola dimensiju mainīgajam. Tagad katram zīmolam veiciet to pašu klases piešķiršanas procesu .

Tagad mums jāpiešķir visas mobilā tālruņa funkcijas un tā vērtība. Lai to izdarītu, izmantojiet funkciju Iestatīt un piešķiriet to jaunai mobilajai ierīcei, kā parādīts zemāk.

Tagad atveriet iPhone cilni With-End. Šeit mēs definēsim katru mobilā tālruņa atribūtu.

Kā redzam, mēs esam piešķīruši visas definētās iPhone zīmola iezīmes no klases ar īpašām vērtībām kā virkni.

Dariet to pašu arī Samsung un Nokia zīmolam.

Tagad mēs izmantosim DebugPrint, lai drukātu informāciju tiešajā logā. Tas ir noderīgi, ja mēs vēlamies koda rindā redzēt noteiktu mainīgo. Katram mobilajam zīmolam mēs atlasīsim dažādas funkcijas, kā parādīts zemāk.

Tagad piešķiriet MobileStarts un MobileOff funkcionālās darbības, kuras mēs definējām klasē, katram mobilajam zīmolam tajā pašā modulī kopā ar lodziņu Ziņojums. Šeit varat izlaist ziņojumu lodziņu.

Tas pabeidz klases piešķiršanu modulim. Tagad apkopojiet kodu un palaidiet, izmantojot taustiņu F5. Mēs redzēsim katra mobilā zīmola ziņojumu, kā parādīts zemāk.

Now, if you want to know what variables and functions have what kind of values in it, for that open the Local window from the view tab, which will help us getting the details when we compile the code as shown below.

The below code is for your Reference.

Code:

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.
  • Testēšanai, veidojot klasi, varat izmantot mazāk tehniku ​​vai funkcijas. To var mainīt vēlāk, kad mēs vēlamies pievienot vairāk produkta funkciju un paņēmienu.
  • Vienmēr apsveriet līdzīgas vai tās pašas funkcijas, kad pabeidzam klasi un piešķiram to modulim. Tas mums palīdzēs salīdzināt dažādu produktu īpašības.

Interesanti raksti...