Модули за клас на Excel VBA
Когато използваме VBA, използваме свойствата и атрибутите, дефинирани в VBA, но какво се случва, когато искаме да създадем свои собствени свойства и методи и атрибути, това е, когато използваме модул на клас във VBA, за да можем да го дефинираме от потребителя, class модул има собствен набор от кодове, дефинирани от потребителя за функции, свойства и обекти.
Модулите на класа се използват за създаване на обект. Когато казваме елементи, въпреки че това е променлива, това са малки програми. Докато пишем кода, обикновено пишем в модули. Основните модули са мястото, където ние пишем нашите принципи, за да свършим работата. Също така използваме Потребителски формуляр за създаване на графичен потребителски интерфейс.

Но ако погледнете горното изображение, можете да видите „Модул за клас“. Със сигурност знам, че не сте го докоснали, докато не прочетете тази публикация. Сигурно се чудите какво представлява този модул от клас VBA, когато цялата работа може да бъде изпълнена чрез използването на нашия редовен модул.
Какво представлява модулът за клас?
Модулите на класа позволяват на потребителя да създава своя обект, точно както имаме вградени елементи в стандартни модули като „Работни листове“, „Работни книги“, „Обхват“ и т.н.
Подобно на това, използвайки модул на клас, можем да създаваме персонализирани обекти.
Класът има пряка връзка с обекти. Например, имате машинна диаграма за изграждане на машина, но не забравяйте, че тя все още не е машина и използвайки тази машинна диаграма, и ние можем да направим много машини като тази.
Например, ако искате да изброите различни марки машини, за да изброите характеристиките на множество модели.
В машината имаме търговска марка, сериен номер, мощност на машината, цвят на устройството, брой двигатели, включени в него, тип моторно гориво и т.н. … На технически език те се наричат „свойства“.
Що се отнася до свойствата на машината, можем да стартираме, да изключим, да увеличим скоростта на двигателя, да направим пауза и т.н. … И те се наричат „Методи“.
Пример
Нека започнем да търкаляме топката, защото винаги е скучно да се чете теоретичната част. За да вмъкнете модул на клас, отидете на опцията за вмъкване в основен визуален редактор.

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

Това изглежда подобно на това, което имаме по-горе като обикновен модул. Променете името на модула на класа в прозореца за свойства. За да видите прозореца със свойства, натиснете клавиша F4 .

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

Без да създаваме подпроцедура във VBA, трябва да декларираме променливата и да използваме думата „Public“, а не „Dim“.
Сега можем да получим достъп до тази променлива във всеки модул и модул от клас.
Сега отидете на обикновен модул и дайте име на променливата.

След декларирането на променливата трябва да присвоим типа данни във VBA; вместо да зададем типа на данните, можем да дадем името на модула на класа, т.е. CM.

Използвайки променливата „k“, можем да осъществим достъп до публичната променлива, която сме дефинирали в модула на класа, т.е. „Моята стойност“.

Както виждаме на горната снимка, тя показва опцията за име на променлива от модула на класа, за да му присвои стойността.

Сега покажете стойността на присвоената променлива в полето за съобщения на VBA.
Код:
Sub Class_Example () Dim k As New CM k.MyValue = "Hello" MsgBox k.MyValue End Sub

Изпълнете този код с помощта на клавиша F5 или ръчно, за да покажете резултата.

Модул на класа срещу обекти
В началния етап на модула на класа всички се бъркат с това, което е клас и какво е обект.
За да разберете това, спомнете си по-ранния пример за машинна диаграма. Първото нещо, от което се нуждаем, за да произведем машина, е първо да проектираме машината и след това няколко копия могат да бъдат копирани с този дизайн.
Сега свържете това с нашия модул за клас.
- Тук Class Module е дизайн. И Object е копието, създадено от Design.
- Още едно интересно нещо е, че трябва да използваме думата „нов“, за да създадем обект от модула на класа.
По-долу е даден пример за същото.

Още нещо, когато използваме вградени обекти като работни листове, работни книги и обекти от диапазон, не използваме думата „ново“.
За да започнете процедурата с модула за клас, тези основни неща трябва да знаете. В следващите статии ще видим примери от следващото ниво.
Изглежда трудно да се разбере това; колкото повече време прекарвате с модул за клас, ще свикнете с него.