Увидеть структуру объектной модели 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 Андрей()
Читать дальше