Visual Basic для приложений является объектно-ориентированным языком, предоставляющим возможности визуального программирования.
VBA содержит иерархию объектов, каждому из которых соответствует свой набор методов и свойств. Объекты представляют собой фундаментальные «строительные» блоки – почти все, что делается в среде VBA, включает модификацию объектов
Объектом VBA считается некоторый элемент, который можно отобразить в окне приложения и на который можно воздействовать некоторым образом, изменяя его состояние. Например, Рабочая книга, Рабочий лист, Активная ячейка, Диапазон являются объектами. К числу наиболее значимых объектов Excel следует отнести следующие.
Таблица 1. Объекты Excel
Объект
Краткая характеристика
Application (объект «Приложение»)
Этот объект представляет собой само приложение Excel в целом. Он включает в себя глобальные устанавливаемые параметры, такие, например, как используемый стиль ссылок на ячейки или режим проведения вычислений. Кроме того, он включает в себя встроенные функции Excel.
Windows (семейство «Окна»)
Объекты этого семейства используются при управлении окном (сворачивании, разворачивании, разбиении его на части и т.д.) Принадлежащий к этому семейству объект ActiveWindow представляет собой активное в настоящий момент окно.
Workbooks (семейство «Рабочие книги»)
Объекты этого семейства определяют состояние рабочей книги, например: не является ли она доступной только для чтения; или какой из листов рабочей книги активен в настоящий момент. Принадлежащий к этому семейству объект ActiveWorkbook — это объект, который представляет собой активную в настоящий момент рабочую книгу.
Worksheets (семейство «Рабочие листы»)
Объекты этого семейства используются при копировании или удалении абочих листов, их скрытии или отображении, проведении вычислений для формул рабочего листа. Принадлежащий к этому семейству объект ActiveWorksheet — это объект, который представляет собой активный в настоящий момент рабочий лист.
Range (объект «Диапазон»)
Этот объект позволяет изменять свойства диапазона ячеек, например, используемый шрифт, проверять или изменять содержимое ячеек, вырезать или копировать указанный диапазон, и многое другое. Это наиболее часто используемый в Excel объект. Принадлежащий к этому же классу объектов объект ActiveCell представляет собой активную в настоящий момент ячейку. Следует обратить внимание на то, что не существует такого объекта, как Cell (ячейка)— отдельно взятая ячейка представляет собой частный случай объекта Range (Диапозон).
Существуют сотни самых разнообразных объектов VBA, многие из которых объединяются в Семейства объектов. Семейством (Collection) в VBA называется совокупность однотипных объектов. Например, в Excel семейство Worksheets является совокупностью всех рабочих листов — объектов Worksheet — в данной рабочей книге, а семейство Lines — совокупностью прямых линий, нарисованных на данном рабочем листе. Составляющие семейство отдельные объекты называются элементами семейства. Можно ссылаться на отдельные элементы семейства, указывая в скобках имя конкретного объекта.
Хотя семейства представляют собой группы объектов, сами семейства также являются одиночными объектами. Такой собирательный объект-семейство представляет собой всю совокупность входящих в семейство объектов, и имеет собственные свойства и методы, с помощью которых можно изменять разом состояние всех объектов семейства.
Как правило, индивидуальные объекты, являющиеся элементами семейств, имеют гораздо больше свойств и методов, чем соответствующий собирательный объект-семейство. Например, объект-семейство Workbooks в Excel имеет всего пять свойств (Application, Count, Creator, Item, Parent) и четыре метода (Add, Close, Open, OpenText), в то время как объект Workbook имеет 59 свойств и 42 метода.
Не все объекты приложений могут группироваться в семейства — для некоторых индивидуальных объектов не существует соответствующих семейств.
Приведем краткий список наиболее часто используемых семейств объектов Excel.
Таблица 2. Семейства объектов Excel
Семейство
Описание
Workbooks
Все открытые в настоящий момент рабочие книги. С помощью метода Open можно открыть еще одну рабочую книгу. Метод Add создает новую рабочую книгу.
Sheets
Включает в себя все листы рабочей книги — как обычные рабочие листы, так и листы диаграмм. Наиболее часто используемые методы — Add, Copy, Delete, Select.
Worksheets
Все рабочие листы рабочей книги. Используются те же методы, что и для семейства Sheets.
Важнейшим понятием объектно-ориентированного программирования является класс, который определяется как проект, на основе которого впоследствии будет создан конкретный объект, т.е. класс определяет имя объекта, его свойства и действия, выполняемые над объектом. В свою очередь объект является экземпляром класса.
В каждом из приложений Office взаимодействие объектов образует многоуровневую структуру. Удобно представлять эту иерархию объектов в виде своеобразного "родословного древа". Для того чтобы правильно обращаться к объектам, нужно понимать эту иерархию, хорошо представлять себе, на каком уровне иерархии находится конкретный объект. Некоторые объекты могут располагаться в разных местах иерархического дерева объектов, на разных его уровнях и тем самым выполняют различные функции.
Полное описание всей иерархической структуры имеющихся объектов в каждом из приложений Office можно получить используя встроенную справку по VBA.