Про объекты.
Очень часто, программированием на VBA занимаются непрофессиональные программисты и про ООП (Объектно-ориентированные программирование) слышали, кое-что знают, но сами никогда не создавали.
Наступает момент, когда написанные процедуры в модулях уже не справляются со своими задачами, удобнее создавать свои объекты.
Для того, чтобы на VBA создать свой объект, сначала надо написать класс модуля (Class Module).
Создаём простой класс в VBA это ClassModule. Сразу присвоим ему имя myClass. В дальнейшем это имя будет использоваться в качестве имени класса.
Давайте создадим одно простое свойство класса
Public Zametka as String
Пусть это будет текстовое значение.
Добавим к нашему классу одно действие
Public Sub Show() MsgBox Zametka End Sub
Пусть наш класс будет выводить значение заметки.
Для начала хватит. Теперь будем тестировать наш класс.
Переходим в модуль и создаём процедуру.
Sub TestMyObject 'Объявляем переменную Dim o As myClass 'Присваиваем переменной новый объект Set o = New myClass 'Присваиваем значение свойство нашего объекта o.Zametka = "Hello world!" 'Выполняем действие объекта o.Show End Sub
Ну вот и все. На экран выводится сообщение “Hello world!”
Мы рассмотрели простейший пример класса объекта на VBA.
Главное замечание. VBA ну очень медленно работает с объектами. Поэтому в коде стараемся минимизировать количество объектов.
Далее рассмотрим более сложные классы.