Самоучитель VBA


Создание модулей класса



Создание модулей класса

В VBA наряду с огромным числом встроенных объектов предусмотрена возможность создания пользовательских объектов. Использование таких объектов позволяет сократить текст программы и сделать его более понятным. Пользовательские объекты являются элементами пользовательских классов (или образно говоря, классы являются формами, из которых "пекутся" конкретные объекты). Пользовательские классы конструируются в модулях классов, которые создаются в редакторе Visual Basic выбором команды Вставка, Модуль класса (Insert, Class Module). При создании классов надо предусмотреть его инициализацию, описание свойств и методов, которыми будет наделен объект.

Опишем процесс создания класса в виде следующей последовательности шагов:

  1. Выберите команду Вставка, Модуль класса (Insert, Class Module). Откроется окно нового модуля класса.
  2. Нажмите клавишу <F4> и присвойте в появившемся окне свойству Name имя класса. Имя модуля класса является именем класса объектов.
  3. В разделе описания модуля объявите переменные уровня модуля, которые используются как "значения свойств".
  4. Инициализируйте класс при помощи процедуры Private Sub Class_Initialize. В этой процедуре надо указать значения, принимаемые по умолчанию переменными уровня модуля, описывающими "значения свойств".
  5. При помощи процедур Property Let объявите имена свойств, значениями которых являются числовые данные, а при помощи процедур Property set объявите имена свойств, значениями которых являются объекты. Если какое-то свойство — только для чтения, то для него не надо составить процедуру Property Let.
  6. При помощи процедур Property Get установите возможность считывания значения свойств.
  7. Создайте методы класса. Методы создаются при помощи обычных процедур и функций. Если метод возвращает число, то для его конструирования используется функция, а в остальных случаях — процедура.
  8. Допустимо также создание процедуры Private Sub Class_Terminate для удаления объекта из памяти по завершению работы с ним.









Начало  Назад  Вперед