logo
Данеев Деменченок

Объектная модель vba

Язык Visual Basic for Applications объектно-ориентированный, его основное предназначение – работа с объектами. С помощью объектов упрощаются процедуры для манипуляции данными и документами. В состав Microsoft Office входит пять основных приложений – Word, Excel, Access, PowerPoint, Outlook, – и каждое использует собственную систему объектов. Так что в понятие «программирование на VBA» входит не только и не столько знание основ языка программирования, сколько умение правильно использовать объекты, их свойства и методы.

Объект (object) – это программный элемент, который имеет свое отображение на экране, содержит некоторые переменные, определяющие его свойства, и некоторые методы для управления объектом с помощью кода VBA.

Программирование на VBA можно рассматривать как управление объектами приложения. Соответственно, решение задачи заключается в принятии некоторых мер или в выполнении каких-либо действий над объектами, приводящих к заданной цели.

Объектная модель имеет иерархическую архитектуру. Например, для Excel это выглядит так:

Application

Workbook

........

Worksheets

......

Cell

.....

То есть главный объект – приложение (Application) – сам Excel. В приложении могут быть несколько книг (Workbook), внутри которых находятся листы (Worksheets), листы разбиты на ячейки (Cell). Часто используется объект – диапазон ячеек (Range).

Объекты управляются с помощью свойств и методов.

Свойства (properties) – это совокупность характеристик и атрибутов, описывающих объект. Изменение значений свойств влияет на поведение и внешний вид объекта. С помощью свойств, например, можно задать цвет, значение, шрифт или формат диапазону ячеек.

Методы (methods) – это действия, которые может выполнять объект. Например, метод Clear (Очистить) объекта Range (Диапазон) удаляет со­держимое ячеек диапазона.

Концепция вложения объектов широко используется при создании ссылок на объ­екты в коде VBA. Для полного определения объекта необходимо указать путь через все уровни иерархии объектной модели. Например, чтобы сослаться на ячейку А1 на рабочем листе Лист1 рабочей книги Книга1, надо применить следующий код: