Увидеть структуру объектной модели Word можно воспользовавшись встроенной в Word справкой по Visual Basic (рис. 8.1).
Рис. 8.1.Объектная модель Microsoft Word
Итак, на самом верхнем уровне объектной модели Word находится объект Application, который представляет непосредственно само приложение Word и содержит (в качестве свойств) все остальные объекты. Таким образом, объект Applicationиспользуется для получения доступа к любому другому объекту Word.
Семейство Documentsявляется свойством объекта Applicationи содержит набор объектов Document, каждый из которых соответствует открытому в Word документу. Класс Documentsпонадобится нам в сценариях для создания новых документов. Объект Documentсодержит в качестве своих свойств семейства различных объектов документа; символов ( Characters), слов ( Words), предложений ( Sentences), параграфов ( Paragraphs) и т.д. В одном из рассмотренных ниже сценариев, например, нам понадобится работать с семейством закладок в документе ( Bookmarks).
Объект Selectionпозволяет работать с выделенным фрагментом текста (этот фрагмент может быть и пустым). Таким образом, можно сказать, что объект Selectionоткрывает путь в документ, т.к. он предоставляет доступ к выделенному фрагменту документа. В частности, у объекта Selectionимеется метод TypeText( Text ), с помощью которого можно вставлять текст в документ. Используя свойства этого объекта (которые, в свою очередь, могут являться объектами со своими свойствами), можно управлять параметрами выделенного фрагмента, например, устанавливать нужный размер и гарнитуру шрифта, выравнивать параграфы по центру и т.п.
Объектная модель Excel построена по тому же принципу, что и объектная модель Word. Основным объектом, содержащим все остальные, является Application(рис. 8.2).
Рис. 8.2.Объектная модель Microsoft Excel
Напомним, что отдельные файлы в Excel называются рабочими книгами. Семейство Workbooksв Excel является аналогом семейства Documentsв Word и содержит набор объектов Workbook(аналог объекта Documentв Word), каждый из которых соответствует открытой в Word рабочей книге. Новая рабочая книга создается с помощью метода Add()объекта Workbooks.
Для доступа к ячейкам активного рабочего листа Excel используется свойство Cellsобъекта Application. Для получения или изменения значения отдельной ячейки применяется конструкция Cells( row, column ).Value, где row и column являются соответственно номерами строки и столбца, на пересечении которых находится данная ячейка.
В Excel, как и в Word, имеется объект Selection, позволяющий работать с выделенным фрагментом электронной таблицы. Самым простым способом выделить диапазон ячеек активного рабочего листа является использование метода Select()объекта Range. Например, выражение Range("A1:C1").Select()позволяет выделить три смежные ячейки: " A1", " B1" и " C1".
Для того чтобы понять, какой именно объект Word или Excel нужно использовать для решения той или иной задачи, часто проще всего бывает проделать в соответствующем приложении необходимые манипуляции вручную, включив предварительно режим записи макроса. В результате мы получим текст макроса на языке VBA (Visual Basic for Applications), из которого будет ясно, какие методы и с какими параметрами нужно вызывать и какие значения нужно присваивать свойствам объектов. В качестве простой иллюстрации проделаем следующие действия. Запустим Word, запустим Macro Recorder ( Сервис|Макрос| Начать запись(Tools|Macros|Record)), назовем новый макрос "Andrey" и нажмем на кнопку OK(рис. 8.3).
Рис. 8.3.Создание нового макроса в Macro Recorder
После этого напишем в документе слово "Андрей" и прекратим запись макроса. Теперь можно посмотреть содержимое записанного макроса. Для этого нужно выбрать пункт Макросы(Macroses) в меню Сервис|Макрос(Tools|Macros), выделить макрос "Andrey" в списке всех доступных макросов и нажать кнопку Изменить(Edit). В открывшемся окне редактора Visual Basic появится текст макроса:
Sub Андрей()
Читать дальше