Како створити и користити модуле ВБА класе? (Примери)

Модули класе Екцел ВБА

Када користимо ВБА, користимо својства и атрибуте дефинисане у ВБА, али шта се дешава када желимо да креирамо сопствена својства и методе и атрибуте, то је када користимо модул класе у ВБА да бисмо га могли дефинисати кориснички, модул класе има свој скуп кодова које корисник дефинише за функције, својства и објекте.

Модули класе се користе за стварање објекта. Када кажемо објекти иако је то променљива, то су мали програми. Док пишемо код, обично пишемо у модулима. Основни модули су место где пишемо кодове да бисмо обавили посао. Кориснички образац користимо и за креирање графичког корисничког интерфејса.

Али ако погледате горњу слику, видећете „Модул класе“. Сигурно знам да тога нисте додирнули док нисте прочитали овај пост. Сигурно се питате шта је овај модул класе ВБА када се сав посао може обавити помоћу самог нашег редовног модула.

Шта је модул класе?

Модули класе омогућавају кориснику да креира сопствени објекат, баш као што имамо уграђене објекте у редовне модуле, као што су „Радни листови“, „Радне свеске“, „Распон“ итд.

Овако користећи модул класе, можемо да креирамо прилагођене објекте.

Час је у директној вези са објектима. На пример, имате машински дијаграм за изградњу машине, али имајте на уму да то још увек није машина и помоћу овог машинског дијаграма можемо да изградимо многе такве машине.

На пример, ако желите да наведете разне марке машина да бисте навели карактеристике различитих модела.

У машини имамо марку, серијски број, снагу машине, боју машине, број мотора који су у њу укључени, врсту моторног горива итд. ... На техничком језику то се назива „својства“.

С обзиром на својства машине, можемо покренути, искључити, повећати брзину мотора, зауставити итд. А они се називају „Методе“.

Пример

Овај ВБА образац класе можете преузети овде - ВБА предложак класе

Кренимо са котрљањем лопте, јер је увек досадно читати теоријски део. Да бисте уметнули модул класе, идите на опцију уметања у едитору висуал басиц.

Сада можемо видети модул класе као доле.

Ово изгледа слично оном који имамо горе као редовни модул. Промените име модула класе у прозору својстава. Да бисте видели прозор својстава притисните тастер Ф4.

Сада прогласите променљиву као низ.

Без креирања потпроцедуре у вба, треба да декларишемо променљиву, а такође и овог пута користећи реч „Публиц“, а не „Дим“.

Сада овој променљивој можемо приступити у било ком модулу и модулу класе.

Сада идите на редовни модул и именујте променљиву.

Након декларације променљиве треба да доделимо тип података у ВБА, уместо да доделимо тип података можемо само дати име модула класе тј. ЦМ

Сада помоћу променљиве „к“ можемо приступити јавној променљивој коју смо дефинисали у модулу класе, тј. „Моја вредност“.

Као што видимо на горњој слици, приказује могућност имена променљиве из модула класе да би јој се доделила вредност.

Сада у пољу ВБА поруке прикажите вредност додељене променљиве.

Шифра:

 Подразред_Пример () Дим к као нова ЦМ к.МиВалуе = "Здраво" МсгБок к.МиВалуе Крај Суб 

Покрените овај код помоћу тастера Ф5 или ручно да бисте приказали резултат.

Модул класе вс објекти

У почетној фази модула класе, сви се збуњују са оним што је класа, а шта објект.

Да бисмо ово разумели, сетимо се нашег ранијег примера машинског дијаграма. Прво што треба да произведемо машину је да прво треба да дизајнирамо машину, а затим се неколико копија може пресликати тим дизајном.

Сада ово повежите са нашим модулом класе.

  • Ево Модул класе је Дизајн. И Предмет је копија коју је креирао Дизајн.
  • Још једна занимљива ствар је да треба да користимо реч „ново“ да бисмо креирали објекат из модула класе.

Испод је пример истог.

Још једна ствар када користимо уграђене објекте као што су радни листови, радне свеске и објекти опсега, не користимо реч „ново“

Да бисте започели поступак са наставним модулом, ове основне ствари које бисте требали знати. У наредним чланцима видећемо примере следећег нивоа.

Чини се да је тешко то разумети, што више времена проводите са модулом класе, навикнете се на то.