VBA klasė - Kaip sukurti pasirinktinę klasę ir objektus VBA?

„Excel VBA“ klasės modulis

VBA klasė leidžia mums sukurti savo objekto funkciją, kurioje galime pridėti bet kokių funkcijų, komandinės eilutės detalių, funkcijos tipą. Kurdami klasę VBA, jie veikia kaip visiškai nepriklausoma objekto funkcija, tačiau jie visi yra sujungti.

Tai padeda mums kurti tokias programas, kurios jau yra VBA ir „Excel“. Pavyzdžiui, sukasi pedalų dviračio ratas. Tiek pedalai, tiek ratai yra ciklo dalys, tačiau abu veikia savarankiškai, kad išvestis būtų judanti.

Kaip sukurti pasirinktinę klasę ir objektus VBA?

Panagrinėkime 3 skirtingų kompanijų mobiliųjų telefonų pavyzdžius, kurie yra „Apple“, „Samsung“ ir „Nokia“, atsižvelgiant į šių kompanijų populiarius ir naujai pristatomus mobiliuosius telefonus, tai yra „iPhone X“, „Samsung S8“ ir „Nokia 7+“.

Palyginsime keletą svarbių šių mobiliųjų telefonų funkcijų, tokių kaip prekės ženklas, modelis, ekrano dydis, fotoaparato tipas ir įkroviklio tipas. Tai iš esmės yra svarbūs bruožai tuo pagrindu. Mes dažniausiai lyginame bet kurį mobilųjį telefoną. Žemiau mes pateikėme aukščiau aptartus parametrus diagramoje.

VBA lange meniu Įterpti pasirinkite klasės modulį, kaip parodyta žemiau.

Mes gausime „Class“ modulio langą, prasidedantį „ Option Explicit“, kaip parodyta žemiau.

„Explicit“ parinktis užtikrina, kad kintamieji turi būti deklaruojami prieš juos naudojant. Jei nedeklaruosime jokio kintamojo ir jo nenaudosime, sistema sukels klaidą. Dabar klasėje nustatykite visus aptartus mobiliųjų telefonų matavimo parametrus su visuomene . Tai leis tuos apibrėžtus parametrus naudoti bet kuriuo metu, bet kur ir be jokių apribojimų.

Kodas:

Variantas Aiškus „Savybių sąrašas Viešas prekės ženklas kaip styginis Viešasis modelis kaip styginis viešasis ekranas Dydis kaip styginis viešasis fotoaparatas Tipas kaip styginis Viešasis įkroviklis Tipas kaip styginis

Dabar mes pridėsime skirtingą mobiliojo telefono veikimo procesą, funkcijas ir funkcijas, tokias kaip telefono įjungimas, telefono išjungimas, muzikos grojimas, akumuliatoriaus įkrovimas ir kt. Su kiekvienos funkcijos subkategorija, kaip parodyta žemiau. Į kiekvieną subkategorijos ciklą įtraukite pranešimų laukelį, kad galėtume pamatyti, kurie metodai šiuo metu vykdomi.

Kodas:

„Galimos technikos sub“ „MobileStarts“ () „MsgBox“ „Mobilusis įrenginys įsijungia“
Išjungta () MsgBox "Mobilusis ryšys išsijungia"
Sub PlayMusic () MsgBox "Šiuo metu veikia garso sistema" End Sub
Sub BatteryCharge () MsgBox "Įkroviklis šiuo metu yra prijungtas" End Sub

Tai užbaigia „Class“ sukūrimą. Prieš judant toliau, patariama pakeisti klasės modulio pavadinimą. Pasirinkite bet kurį vardą pagal savo reikalavimą, nes mes jį pakeisime į mobilųjį .

Dabar modulyje parašysime kodą, kuriame pamatysime ir palyginsime kiekvieno mobiliojo telefono prekės ženklo ypatybes ir funkcijas. Tam turime pridėti modulį eidami ten meniu Įterpti, kaip parodyta meniu.

Mes gausime atidarytą naują modulį su įjungtu „Option Explicit“, kai dirbame ir kuriame klasę. Dabar pradėkite rašyti subkategoriją atliktų funkcijų pavadinimu, kaip parodyta žemiau.

Mes galime pakeisti modulio pavadinimą taip pat, kaip ir klasėje. Tai padeda mums išlaikyti sukurtą VBA kodo tapatybę. Tai galima padaryti iš ypatybių langų, kaip parodyta žemiau.

Mes jau apibrėžėme įvairias visų markių mobiliųjų telefonų savybes, funkcijas ir metodus. Dabar apibrėžkime 3 kintamuosius bet kokiu vardu (pageidautina mobiliojo telefono prekės ženklo pavadinime) ir priskirkime jį „Mobile“. Pirmiausia pradėkime nuo „iPhone“, kaip parodyta žemiau.

Panašiai darykite tą patį ir likusį mobiliųjų telefonų prekės ženklą, kaip parodyta žemiau.

Tuo mes priskiriame sukurtą klasę kiekvienam „Mobile“ prekės ženklo matmenų kintamajam. Dabar kiekvienam prekės ženklui atlikite tą patį klasės priskyrimo procesą .

Dabar turime priskirti visas mobiliojo telefono savybes ir jo vertę. Tam naudokite funkciją Nustatyti ir priskirkite ją naujam mobiliajam telefonui, kaip parodyta žemiau.

Dabar atidarykite „iPhone“ „With-End“ kilpą. Čia mes apibrėžsime kiekvieną mobiliojo telefono atributą.

Kaip matome, visas apibrėžtas „iPhone“ prekės ženklo „Class“ savybes priskyrėme „String“.

Taip pat darykite „Samsung“ ir „Nokia“ prekės ženklą.

Dabar naudosime „ DebugPrint“, kad išspausdintume informaciją tiesioginiame lange. Tai naudinga ten, kur kodo eilutėje norime pamatyti tam tikrą kintamąjį. Kiekvienam „Mobile“ prekės ženklui parinksime skirtingas funkcijas, kaip parodyta žemiau.

Dabar priskirkite „ MobileStarts“ ir „ MobileOff“ funkcines operacijas, kurias klasėje apibrėžėme kiekvienam iš mobiliųjų prekių ženklų tame pačiame modulyje kartu su laukeliu Pranešimas. Pranešimų laukelį galite praleisti čia.

Tai užbaigia klasės priskyrimą moduliui. Dabar sukompiliuokite kodą ir paleiskite naudodami klavišą F5. Pamatysime kiekvieno mobiliojo prekės ženklo pranešimą, kaip parodyta žemiau.

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.
  • Testavimui galite naudoti mažesnes technikas ar funkcijas kurdami „Class“. Tai galima pakeisti vėliau, kai norime pridėti daugiau produkto funkcijų ir metodų.
  • Visada apsvarstykite panašias ar tas pačias savybes, kai baigsime klasę ir priskirsime ją moduliui. Tai padės mums palyginti skirtingų produktų savybes.

Įdomios straipsniai...