Шаг 161.
VBA в MSExcel.
Пользовательские объекты. Создание модулей класса
На этом шаге мы приведем алгоритм создания пользовательского объекта.
В VBA наряду с огромным числом встроенных объектов предусмотрена возможность создания пользовательских объектов. Использование
таких объектов позволяет сократить текст программы и сделать его более понятным. Пользовательские объекты являются элементами пользовательских
классов (или образно говоря, классы являются формами, из которых "пекутся" конкретные объекты). Пользовательские классы конструируются в
модулях классов, которые создаются в редакторе Visual Basic выбором команды Вставка | Модуль класса (Insert | Class Module).
При создании классов надо предусмотреть его инициализацию, описание свойств и методов, которыми будет наделен объект.
Опишем процесс создания класса в виде следующей последовательности шагов:
- Выберите команду Вставка | Модуль класса (Insert | Class Module). Откроется окно нового модуля класса.
Рис.1. Окно нового модуля класса и окно Propertis
- По нажатию клавиши F4 попадете в окно Propertis, где свойству Name можно присвоить имя класса. Имя модуля класса является именем класса объектов.
- В разделе описания модуля объявите переменные уровня модуля, которые используются как "значения свойств".
- Инициализируйте класс при помощи процедуры Private Sub Class_Initialize. В этой процедуре надо указать значения, принимаемые по умолчанию переменными
уровня модуля, описывающими "значения свойств".
- При помощи процедур Property Let объявите имена свойств, значениями которых являются числовые данные, а при помощи процедур
Property Set объявите имена свойств, значениями которых являются объекты. Если какое-то свойство — только для чтения, то для него не надо составить процедуру Property Let.
- При помощи процедур Property Get установите возможность считывания значения свойств.
- Создайте методы класса. Методы создаются при помощи обычных процедур и функций. Если метод возвращает число, то для его конструирования
используется функция, а в остальных случаях — процедура.
- Допустимо также создание процедуры Private Sub Class_Terminate для удаления объекта из памяти по завершению работы с ним.
На следующем шаге мы рассмотрим процедуры Property Let, Property Set и Property Get.
Предыдущий шаг
Содержание
Следующий шаг