Object >>

Про объекты.

Очень часто, программированием на 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 ну очень медленно работает с объектами. Поэтому в коде стараемся минимизировать количество объектов.

Далее рассмотрим более сложные классы.