Книга: Windows Script Host для Windows 2000/XP
Объектные модели Microsoft Word и Excel
Объектные модели Microsoft Word и Excel
Для того чтобы использовать из сценариев WSH те возможности, которые поддерживают программы Word и Excel, необходимо знать, какие именно объекты предоставляются для внешнего использования этими серверами автоматизации и как объекты соотносятся друг с другом. Хотя объектные модели различных приложений Microsoft Office довольно сложны (например, Word содержит порядка 200 взаимосвязанных друг с другом объектов), они очень похожи друг на друга, причем для практических целей достаточно понять принцип работы с несколькими ключевыми объектами. Здесь мы не будем останавливаться на подробном рассмотрении свойств и методов объектов Word и Excel (для желающих глубже познакомиться с этой темой можно порекомендовать, например, замечательную книгу [17]), а лишь кратко упомянем, какие именно объекты будут использоваться в рассмотренных ниже примерах сценариев.
Увидеть структуру объектной модели 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 Андрей()
'
' Андрей Макрос
' Макрос записан 01.08.02 Андрей Владимирович Попов
'
Selection.TypeText Text:="Андрей"
End Sub
Как мы видим, для печати слова в документе был использован метод TypeText
объекта Selection
.
Макросы в Excel записываются и редактируются аналогичным образом.
- Глава 8 Взаимодействие сценариев с Microsoft Office
- Глава 7 Чего нужно опасаться при моделировании бизнес-процессов. Проектные риски моделирования бизнеспроцессов
- Rational Rose 2000 и UML Визуальное моделирование
- 4.2. Создание трехмерной модели и построение горизонтальной проекции детали
- 6.4. Рабочий лист Excel и его структурные элементы
- Построение модели выходов (результатов)
- Как уменьшить размер документа Microsoft Word?
- Интеграция Windows SharePoint и Microsoft Office
- 6.2. Модели оценки бизнес-тренинга
- Общие принципы моделирования
- 3.7 Система Microsoft Exchange 2000 и NAS
- 1.2.1. Принципы построения модели IDEF0