Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Информатике на Машфаке и ТЭА.doc
Скачиваний:
99
Добавлен:
29.02.2016
Размер:
3.28 Mб
Скачать

9.4 Меню редактора vba

10 Основные понятия vba

10.1 Объекты и их семейства

Прежде поговорим о проекте в VBA. Под проектом в редакторе VBA понимается набор всех программных модулей, связанных с документом MS Office (под документом MS Office понимаем MS Excel)

В основе реализации проекта в среде VBA лежит понятие модуля. Модуль – это набор описаний и процедур на языке VBA, собранных в одну программную единицу.

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

VBA не является объектно-ориентированном языком в строгом понимании этого слова, однако объектный подход играет в нем большую роль. Все визуальные объекты, такие как рабочий лист (worksheet), диапазон (Range), диаграмма (Chart), форма (userForm), являются объектами.

В VBA имеется более 100 встроенных объектов.

Семейство (объект collection) представляет собой объект, содержащий несколько других объектов, как правило, одного и того же типа.

Например, объект workbooks (рабочие книги) содержит все открытые объекты Workbook (рабочая книга). Каждый элемент семейства нумеруется и может быть идентифицирован либо по номеру, либо по имени. Например, worksheets (1) обозначает первый рабочий лист активной книги, a worksheets ("Лист1") — рабочий лист с именем лист1.

Классы

Важнейшим понятием ООП является класс. Класс обычно описывается, как проект, на основе которого впоследствии будет создан конкретный объект. Таким образом, класс определяет имя объекта, его свойства и действия, выполняемые над объектом. В свою очередь каждый объект, в соответствии с описанным выше, является экземпляром класса.

Иерархия объектов

Полная ссылка на объект состоит из ряда имен вложенных последовательно друг в друга объектов. Разделителями имен объектов в этом ряду являются точки. Ряд начинается с объекта Application и заканчивается именем самого объекта. Например, полная ссылка на ячейку A1 рабочего листа Лист1 рабочей книги с именем Архив имеет вид:

Application.Workbooks("Архив").Worksheets("Лист1").Range("Al")

Приводить каждый раз полную ссылку на объект совершенно не обязательно. Обычно достаточно ограничиться только неявной ссылкой на объект.

В неявной ссылке, в отличие от полной, объекты, которые активны в данный момент, как правило, можно опускать. В рассмотренном случае, если ссылка на ячейку A1 дана в программе, выполняемой в среде Excel, то ссылка на объект Application может быть опущена, т. е. достаточно привести относительную ссылку:

Workbooks("Архив").Worksheets("Лист1").Range("A1")

Если рабочая книга Архив является активной, то ссылку можно записать еще короче:

Worksheets("Лист1").Range("A1")

Если и рабочий лист лист! активен, то в относительной ссылке вполне достаточно ограничиться упоминанием только диапазона A1:

Range("A1")

Методы

Объект сам по себе не представляет большого значения. Намного значительнее то, какие действия можно совершать над объектом, и какими свойствами он обладает. Метод как раз и представляет собой действие, выполняемое над объектом.

Синтаксис применения метода:

Объект.Метод

В данном примере при помощи метода Quit (закрыть) закрывается приложение (объект Application).

Application.Quit

Метод можно применять ко всем объектам семейства.

В примере, приведенном ниже к семейству chartobjects (диаграммы) рабочего листа Лист1 применен метод Delete (удалить), который приводит к удалению всех диаграмм с рабочего листа Лист1:

Worksheets("Лист!").Chartobjects.Delete

Свойства

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

Синтаксис установки значения свойства:

Объект.Свойство = ЗначениеСвойства

В следующем примере изменяется заголовок окна Excel посредством задания свойства Caption объекту Application:

Application.Caption = "Пример"

Свойство можно изменять сразу у всех объектов семейства. В приведенном ниже примере с помощью установки свойству visible (видимость) значения False (ложь) все рабочие листы активной книги (семейство объектов worksheets) скрываются:

Worksheets.Visible = False