Trieda VBA - Ako vytvoriť vlastnú triedu a objekty vo VBA?

Modul triedy Excel VBA

Trieda VBA nám umožňuje vytvoriť si vlastnú funkciu Object, do ktorej môžeme pridať akýkoľvek druh funkcií, podrobnosti príkazového riadku, typ funkcie. Keď vytvoríme triedu vo VBA, fungujú ako úplne nezávislá objektová funkcia, ale všetky sú spojené dohromady.

Pomáha nám to pri vytváraní aplikácií, ktoré už existujú vo formátoch VBA a Excel. Napríklad sa otáča koleso šliapania. Pedále a kolesá sú súčasťou cyklu, ale obidve pracujú nezávisle a poskytujú výstup ako pohyblivý cyklus.

Ako vytvoriť vlastnú triedu a objekty vo VBA?

Zoberme si príklad mobilných telefónov 3 rôznych spoločností, ktorými sú Apple, Samsung a Nokia, s prihliadnutím na populárne a novo uvedené mobilné telefóny týchto spoločností, ktorými sú iPhone X, Samsung S8 a Nokia 7+.

Budeme porovnávať niektoré dôležité funkcie týchto mobilných telefónov, napríklad Brand, Model, Size Screen, Camera Type a Charger Type. Na tomto základe sú to v podstate dôležité vlastnosti. Väčšinou porovnávame akýkoľvek mobilný telefón. Ďalej sme mapovali vyššie diskutované parametre do grafu.

V okne VBA z ponuky Vložiť vyberte modul triedy, ako je uvedené nižšie.

Dostaneme okno modulu Class začínajúce sa Option Explicit, ako je zobrazené nižšie.

Možnosť Explicit zaisťuje, že premenné musia byť deklarované pred použitím. Ak nedefinujeme žiadnu premennú a nepoužívame ju, potom systém spôsobí chybu. Teraz v triede definujte všetky diskutované parametre merania mobilných telefónov s verejnosťou . Týmto sa definované parametre otvoria používaniu kedykoľvek, kdekoľvek a bez akýchkoľvek obmedzení.

Kód:

Možnosť Explicitné 'Zoznam vlastností Verejná značka ako reťazec Verejný model ako reťazec Verejná obrazovka Veľkosť ako reťazec Verejná kamera Typ ako reťazec Verejná nabíjačka Typ ako reťazec

Teraz do podkategórie pridáme pre každú funkciu iný proces obsluhy, funkcií a funkcií mobilného telefónu, ako je napríklad spustenie telefónu, vypnutie telefónu, prehrávanie hudby, nabíjanie batérie atď., Ako je uvedené nižšie. A do každej slučky podkategórie pridajte okno so správou, aby sme videli, ktoré metódy sú momentálne spustené.

Kód:

"Možné techniky Sub MobileStarts () MsgBox" Mobil sa zapína "End Sub
Sub MobileOff () MsgBox "Mobil sa vypína" Koniec Sub
Sub PlayMusic () MsgBox „Zvukový systém momentálne pracuje“ End Sub
Sub BatteryCharge () MsgBox „Nabíjačka je momentálne pripojená“ End Sub

Týmto sa dokončuje vytváranie triedy. Skôr ako sa posunieme ďalej, odporúča sa zmeniť názov modulu triedy. Vyberte si ľubovoľné meno podľa svojich požiadaviek, pretože ho zmeníme na mobilné .

Teraz napíšeme kód do modulu, kde uvidíme a porovnáme vlastnosti a funkcie jednotlivých značiek mobilných telefónov. Za týmto účelom musíme pridať modul tak, že tam prejdeme v ponuke Vložiť, ako je to znázornené.

Počas práce a vytvárania triedy dostaneme otvorený nový modul s povoleným Option Explicit. Teraz začnite písať podkategóriu do názvu vykonaných funkcií, ako je uvedené nižšie.

Názov modulu môžeme zmeniť rovnako, ako sme to urobili pre triedu. To nám pomáha udržiavať spolu súvisiacu identitu vytvoreného kódu VBA. To je možné vykonať z okien vlastností, ako je uvedené nižšie.

Už sme definovali rôzne funkcie, funkcie a metódy všetkých mobilných telefónov značky. Teraz definujme 3 premenné v ľubovoľnom názve (najlepšie v názve značky mobilného telefónu) a priraďme ich k Mobile. Najprv začnime s iPhone, ako je to znázornené nižšie.

To isté urobte pre zvyšok značky mobilných telefónov, ako je uvedené nižšie.

Týmto priradíme vytvorenú Triedu ku každej dimenzionálnej premennej značky Mobile. Teraz pre každú značku urobte rovnaký postup priraďovania triedy .

Teraz musíme priradiť všetky funkcie mobilného telefónu a jeho hodnotu. Na tento účel použite funkciu Nastaviť a priraďte ju k Novému mobilu, ako je to znázornené nižšie.

Teraz otvorte slučku With-End pre iPhone. Tu definujeme každý atribút mobilnej siete.

Ako vidíme, všetky definované vlastnosti značky iPhone od Class sme priradili konkrétnym hodnotám ako String.

To isté urobte aj pre značku Samsung a Nokia.

Teraz použijeme DebugPrint na vytlačenie informácií do bezprostredného okna. Je to užitočné tam, kde chceme vidieť určitú premennú v riadku kódu. Pre každú značku Mobile vyberieme rôzne funkcie, ako je uvedené nižšie.

Teraz priraďte funkčné operácie MobileStarts a MobileOff , ktoré sme definovali v triede, ku každej mobilnej značke v rovnakom module spolu s poľom Správa. Tu môžete okno správ preskočiť.

Týmto je dokončené priradenie triedy k modulu. Teraz skompilujte kód a spustite ho pomocou klávesu F5. Uvidíme správu každej mobilnej značky, ako je uvedené nižšie.

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.
  • Na testovanie môžete pri vytváraní Triedy použiť menšie techniky alebo funkcie. Toto je možné neskôr upraviť, keď chceme pridať ďalšie funkcie a techniky produktu.
  • Po dokončení triedy a jej priradení k modulu vždy zvážte podobné alebo rovnaké funkcie. Pomôže nám to pri porovnávaní funkcií rôznych produktov.

Zaujímavé články...