Содержание 1 введение 6

Вид материалаРеферат
9 Объекты. классы. Методы и свойства объектов 9.1 Объекты и классы
9.2 Объекты OLE и ActiveX
9.3 Иерархия объектов
Подобный материал:
1   ...   9   10   11   12   13   14   15   16   ...   25

9 Объекты. классы. Методы и свойства объектов

9.1 Объекты и классы



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

Программирование в классах – основной способ современного программирования. За примерами далеко ходить не нужно. Так устроена операционная система Windows, – окно является ее основным объектом. Сам Office 2000 полностью построен на классах и работе с объектами этих классов – здесь все, начиная от отдельного символа и заканчивая приложением, рассматривается как объект некоторого класса. Профессиональный прикладной программист, работающий в некоторой проблемной области и решающий разнообразные задачи из нее, как правило, начинает с создания классов, описывающих специфику данной проблемной области. Затем уже решение тех или иных специальных задач он описывает в терминах работы с объектами данной проблемной области.




9.2 Объекты OLE и ActiveX



В VBA используется механизм OLE (Object Linking and Embedding – связывание и внедрение объектов), который позволяет взаимодействовать с любыми программами, поддерживающими OLE. Примером элементов, которые можно интегрировать при помощи механизма OLE, являются вставляемые объекты OLEObject, создаваемые, например, при помощи программ WordArt, ClipArt и т.д. Все OLE-объекты рабочего листа образуют семейство OLEObjects. Вручную в рабочий лист OLE-объекты вставляются командой Вставка/Объект с выбором в появившемся диалоговом окне Вставка объекта из списка на вкладке Создание внедряемого объекта. OLE-объект отличается от обычного тем, что при выборе внедренного объекта (при перемещении на него указателя и щелчке кнопкой мыши) активизируется программа, связанная с этим объектом, и меню приложения заменяется меню программы, его создавшей. Теперь можно, не выходя из основного приложения, работать с данным объектом, редактируя и видоизменяя его средствами создавшей его программы. Кроме того, OLE-технология обладает так называемым свойством Automation, с помощью которого можно устанавливать свойства, применять методы и обрабатывать события внедренных объектов как обычных объектов приложения.

С 1996 г. фирма Microsoft ввела новую терминологию, и теперь то, что раньше именовалось OLE-объектом, называется объектом ActiveX, a OLE Automation называется ActiveX Automation.

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



Объектная библиотека VBA содержит более 100 различных объектов, находящихся на разных уровнях иерархии. Иерархия определяет связь между объектами и показывает пути доступа к ним (рис. 9.1).

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

Application.Workbooks("Кафедра").Workheets("Лист1").Range("Al")

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

Workbooks("Кафедра").Worksheets("Лист1").Range("A1")

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

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

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

Range("A1")

9.4 Методы



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

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

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

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

Application.Quit

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

Worksheets("Лист1").ChartObjects.Delete