Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SrrazOffpril_Vecher.rtf
Скачиваний:
9
Добавлен:
18.09.2019
Размер:
1.9 Mб
Скачать

Тема 2. Введение в модели объектов

Объекты – фундаментальные строительные блоки приложений Microsoft Office , практически все, что делается на Visual Basic, не обходится без операций над объектами. Любая единица обрабатываемой информации – рабочая книга, рабочий лист, документ, фрагмент текста, слайд и т.д. – все это объекты, которыми можно управлять программно на Visual Basic. Усвоив принципы работы с объектами, можно автоматизировать любые операции, выполняемые в Office.

2.1. Обзор моделей объектов

2.1.1. Иерархия или модель объектов

В любом приложении Office две основные составляющие: содержимое (content) и функциональные возможности (functionality). Содержимое – это документы, обрабатываемые приложением, и их элементы: слова, числа, графика; сюда же относится и информация об атрибутах отдельных элементов (размер окна документа, цвет изображения или размер шрифта того или иного слова). Под функциональными возможностями подразумеваются способы работы с содержимым – например: открытие, закрытие, добавление, удаление, копирование, вставка, редактирование или форматирование его элементов.

Содержимое и функциональность приложения разбиваются на дискретные единицы, называемые объектами. Некоторые объекты уже известны как элементы пользовательского интерфейса: рабочие книги, рабочие листы и диапазоны ячеек Microsoft Excel; документы и разделы Word; презентации и слайды Power Point.

Объектом приложения верхнего уровня обычно служит объект Application, представляющий само приложение. Например, в модели объектов Microsoft Excel таковым является сам Microsoft Excel. Объект Application содержит другие объекты, доступ к которым возможен только в тот период, когда существует объект-приложение (т.е. при выполнении приложения). Так, объект Application Microsoft Excel содержит объекты Workbook, а объект Application Word – объекты Document. Поскольку существование объекта Document зависит от существования объекта Application Word, принято говорить, что объект Document – потомок объекта Application, и наоборот, объект Application – предок объекта Document.

У многих объектов-потомков есть свои потомки. Например, объект Workbook Microsoft Excel содержит набор объектов Worksheet (или является их предком); этот набор представляет все листы рабочей книги. У объекта-предка может быть несколько потомков – например, у объекта Window в Word есть объекты-потомки Panes, Selection и View. По аналогии у потомка может быть несколько предков, в частности объект-набор Windows в Word – потомок как объекта Application, так и объекта Document.

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

Каждый объект в иерархии включает в себя не только объекты более низких уровней, но и их содержимое и функциональность. Чем выше объект в иерархии, тем больше его содержимое и шире функциональные возможности. Например, в Microsoft Excel объект Application содержит размер окна приложения и позволяет завершить работу приложения, объект Workbook содержит имя файла и формат рабочей книги и позволяет сохранить ее, а объект Worksheet содержит имя рабочего листа и позволяет удалить рабочий лист.

Зачастую, чтобы добраться до содержимого файла (например, до значений на рабочем листе Microsoft Excel или текста в документе Word) необходимо пройти несколько уровней иерархии объектов; все дело в том, что эта специфическая информации относится лишь к конкретной части приложения. Иначе говоря, значение в какой-либо ячейке рабочего листа относится к этой ячейке, а не ко всем ячейкам рабочего листа, и поэтому его нельзя хранить непосредственно в объекте Worksheet. Таким образом, содержимое и функциональность, заключенные в объекте, ограничиваются сферой его действия.

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

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

2.1.2. Свойства и методы

Свойства и методы предназначены для доступа к содержимому и функциональности объекта. В примере для Microsoft Excel, приведенном ниже, свойство Value объекта Range используется для просмотра значения в ячейке B3 на рабочем листе Sales из рабочей книги Current.xls:

Workbook(“Current.xls”).Worksheets(“Sales”).Range(“B3”).Value = 3

Свойство Bold объекта Font позволяет изменить начертание шрифта в ячейке B3 рабочего листа Sales на полужирное:

Workbook(“Current.xls”).Worksheets(“Sales”).Range(“B3”).Font.Bond=True

Пример для Word, где метод Close объекта Document применяется для закрытия файла Draft 3.doc:

Document(“Draft 3.doc”).Close

В общем случае свойства используются для доступа к содержимому, которое может включать в себя текст, хранящийся в объекте, или значение атрибута объекта, а методы – для доступа к функциональным возможностям, под которыми понимается все, что разрешается делать с содержимым. Но такое различие существует не всегда: в любой модели объектов есть свойства и методы – исключения из данного правила.

2.1.3. Связь модели объектов с пользовательским интерфейсом

С объектами приложения можно взаимодействовать двумя способами: вручную (через пользовательский интерфейс) и программно (посредством того или иного языка программирования). В первом случае, чтобы добраться до блока приложения, управляющего нужными данными или командами можно использовать клавиатуру или мышь, или и то, и другое. Но программируя на Visual Basic, следует пройти по иерархии объектов, «спускаясь» с объекта верхнего уровня до объекта, включающего в себя нужное содержимое и функциональность, и воспользоваться его свойствами и методами.

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

2.1.4. Объекты-наборы

Изучая схемы модели объектов, можно заметить, что имена объектов обычно имеют единственное и множественного значение одного и того же имени объекта, например, «Documents (Document)» или «Workbooks (Workbook)». В таких случаях первое слово (обычно во множественном числе) – это имя объекта-набора (collection object). Набор представляет собой объект, содержащий группу родственных объектов. С объектами-наборами можно работать не только по отдельности, но и как с единой группой. Второе слово (обычно в единственном числе и в скобках) относится к именам объектов, составляющих набор. В Word, например, можно использовать набор Documents для работы с объектами Document как с единой группой.

Хотя и Documents, и Document – объекты разные, каждый со своим набором свойств и методов, на многих схемах моделей объектов их объединяют для упрощения схемы. Объект-набор можно использовать для доступа к отдельным объектам в наборе – обычно посредством метода или свойства Item. В следующем примере для Power Point свойство Item набора Presentations применяется, чтобы активизировать презентацию Trade Show, а потом закрыть ее. Другие открытые презентации при этом остаются открытыми:

Presentations.Item(“Trade Show”).Close

Свойство или метод Item в большинстве наборов используется по умолчанию. Поэтому следующая строка кода эквивалентна предыдущей:

Presentations(“Trade Show”).Close

Кроме того, можно создавать и добавлять к набору новые элементы – обычно методом Add этого набора. Например, чтобы создать в Word новый документ на основе шаблона Normal (Обычный), необходимо указать следующее:

Documents.Add

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

If Workbook.Count > 3 Then MsgBox “More that 3 workbooks are open”

Наборы полезны и для других целей. Они, например, позволяют выполнять операции над всеми объектами набора. Для этого следует перебирать все элементы набора с помощью операторов For Each … Next или For … Next.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]