Ako vytvárať a používať moduly triedy VBA? (Príklady)

Moduly triedy Excel VBA

Keď používame VBA, používame vlastnosti a atribúty definované vo VBA, ale čo sa stane, keď chceme vytvoriť svoje vlastné vlastnosti a metódy a atribúty, to znamená, keď použijeme modul triedy vo VBA, aby sme ho mohli mať definovaný používateľom, Modul triedy má vlastnú sadu kódov definovaných používateľom pre funkcie, vlastnosti a objekty.

Moduly triedy sa používajú na vytvorenie objektu. Keď hovoríme objekty, aj keď je to premenná, jedná sa o malé programy. Pri písaní kódu obvykle píšeme v moduloch. Základné moduly sú miesta, kde píšeme svoje kódy, aby sme mohli prácu zvládnuť. Na vytvorenie grafických používateľských rozhraní tiež používame formulár používateľa.

Ale ak sa pozriete na vyššie uvedený obrázok, môžete vidieť „Modul triedy“. Viem určite, že ste sa toho nedotkli, kým nečítate tento príspevok. Určite sa pýtate, čo je tento modul triedy VBA, keď je možné celú prácu vykonať pomocou nášho samotného bežného modulu.

Čo je modul triedy?

Moduly triedy umožňujú používateľovi vytvoriť si vlastný objekt, rovnako ako máme zabudované objekty v bežných moduloch, ako sú „Pracovné listy“, „Pracovné zošity“, „Rozsah“ atď.

Takto pomocou modulu triedy môžeme vytvárať vlastné objekty.

Trieda má priamy vzťah s objektmi. Napríklad máte strojový diagram na zostavenie stroja, ale pamätajte, že to ešte nie je stroj, a pomocou tohto strojového diagramu môžeme zostaviť veľa takýchto strojov.

Napríklad, ak chcete uviesť zoznam rôznych značiek strojov, aby ste uviedli vlastnosti rôznych modelov.

V stroji máme obchodnú značku, sériové číslo, výkon stroja, farbu stroja, počet zapojených motorov, typ motorového paliva atď. ... V odbornom jazyku sa tomu hovorí „vlastnosti“.

Pokiaľ ide o vlastnosti stroja, môžeme štartovať, vypínať, zvyšovať rýchlosť motora, pozastaviť atď. A tieto metódy sa nazývajú „metódy“.

Príklad

Túto šablónu triedy VBA si môžete stiahnuť tu - Šablóna triedy VBA

Začnime gúľaním lopty, pretože teoretická časť je vždy nudná. Ak chcete vložiť modul triedy, choďte na možnosť vložiť v editore jazyka Visual Basic.

Teraz môžeme vidieť modul triedy, ako je uvedené nižšie.

Vyzerá to podobne ako ten, ktorý máme vyššie ako bežný modul. V okne vlastností zmeňte názov modulu triedy. Okno vlastností zobrazíte stlačením klávesu F4 .

Teraz deklarujte premennú ako reťazec.

Bez vytvorenia podprocesu vo vba musíme deklarovať premennú a tiež tentokrát pomocou slova „Public“, nie „Dim“.

Teraz môžeme k tejto premennej pristupovať v ktoromkoľvek module a module triedy.

Teraz choďte na bežný modul a pomenujte premennú.

Po deklarácii premennej musíme priradiť dátový typ vo VBA, namiesto priradenia dátového typu môžeme dať iba názov modulu triedy, tj CM

Teraz pomocou premennej „k“ môžeme pristupovať k verejnej premennej, ktorú sme definovali v module triedy, tj „Moja hodnota“.

Ako vidíme na obrázku vyššie, zobrazuje možnosť názvu premennej z modulu triedy priradiť mu hodnotu.

Teraz ukážte hodnotu priradenej premennej v okne správy VBA.

Kód:

 Sub Class_Example () Dim k As New CM k.MyValue = "Dobrý deň" MsgBox k.MyValue End Sub 

Spustite tento kód pomocou klávesu F5 alebo ručne, aby ste zobrazili výsledok.

Modul triedy vs objekty

V počiatočnej fáze modulu triedy sú všetci zmätení s tým, čo je trieda a čo je objekt.

Aby sme to pochopili, spomenieme si na náš predchádzajúci príklad strojového diagramu. Prvá vec, ktorú potrebujeme na výrobu stroja, je to, že musíme stroj najskôr navrhnúť a potom s týmto dizajnom môžeme replikovať niekoľko kópií.

Teraz to spojte s našim modulom triedy.

  • Tu je modul triedy dizajn. A Object je kópia vytvorená dizajnom.
  • Ďalšou zaujímavosťou je, že na vytvorenie objektu z modulu triedy musíme použiť slovo „nový“.

Nižšie je uvedený príklad toho istého.

Ešte jedna vec, keď používame vstavané objekty, ako sú pracovné listy, zošity a objekty rozsahu, nepoužívame slovo „nový“

Na začiatok konania s triednym modulom by ste mali vedieť tieto základné veci. V nasledujúcich článkoch uvidíme príklady na ďalšej úrovni.

Zdá sa to ťažké pochopiť, tým viac času, ktoré strávite s triednym modulom, si zvyknete.