Классы и объекты VBA, применение объектов в программах
В предыдущей главе мы познакомились с синтаксическими конструкциями и встроенными функциями языка VBA, но на одним встроенных функциях далеко не уедешь. Вся функциональность программ VBA, работающих в приложениях Microsoft Office, полностью построена на работе с классами и объектами.
Объектно-ориентированное программирование — это отдельная очень большая тема, которой посвящено множество книг. В этой главе будут рассмотрены только те моменты, которые важны с точки зрения практической работы при программировании в среде Microsoft Office.
Вначале немного терминологии.
Классы формально определяются как блоки функциональности, которые можно использовать в программах. Для наших целей их можно считать "чертежами" для создания объектов. На основе этих "чертежей" создаются экземпляры классов — объекты. Для простоты можно представить себе, что в оперативной памяти компьютера по чертежу построили дом — объект, с которым можно что-то делать.
Наборы чертежей (в терминологии программирования — коллекции классов) обычно называются библиотеками типов. В Windows они "упаковываются" в файлы dll или ocx (иногда и в файлы других типов, например, exe или tlb). Такие библиотеки типов откомпилированы — чертежи из них можно использовать, но просмотреть их (то есть просмотреть исходный код класса) нельзя (для такой ситуации существует специальный термин — технология "черного ящика").
Чаще всего в программе VBA производится создание объекта определенного класса (по английски это называется instantiation, создание экземпляра — instance) и далее работа производится с этим объектом. В одной программе вполне можно использовать несколько разных объектов одного и того же класса.
В этом курсе будет рассказано только про использование программах объектов, созданных на основе уже готовых чертежей (которые приготовили для вас разработчики Microsoft Office). Создание своих собственных классов — это отдельная очень большая тема, которая выходит за рамки данного курса.