Объекты Microsoft Word
Объектная модель Microsoft Word организована аналогично объектной модели Microsoft Excel. На разных уровнях иерархии в приложении определено около 200 объектов, совокупность которых и определяет возможности MS Word, его свойства и поведение. Главным объектом этой иерархии является объект Application. Мы рассмотрим также объект Document, представляющий отдельный документ, и коллекцию Documents, объекты Range и Selection. Полное описание объектов приложения можно найти в справочной системе MS Word.
Объект Application
Объект Application определяет свойства и поведение приложения в целом. Он имеет более сотни элементов: свойств, методов и событий (см. статью "Application Object Members" справочной системы Microsoft Word). Как и в MS Excel, многие свойства и методы Application можно вызывать, не указывая имя этого объекта. Например, вместо Application.Documents.Add можно написать просто Documents.Add.
Из всех свойств объекта наиболее часто используются ActiveDocument и Selection, а также коллекция всех открытых документов Documents.
Событий объект имеет довольно много. В табл. 12.28 приведены некоторые из них.
Таблица 12.28
Основные события объекта Application
Событие |
Описание |
Document BeforeClose |
Возникает перед закрытием документа |
Document BeforePrint |
Возникает перед печатью документа |
Docu merit BeforeSave |
Возникает перед сохранением документа |
DocumentChange |
Возникает при переходе к другому документу |
DocumenlOpen |
Возникает перед открытием документа |
NewDocument |
Возникает при создании нового документа |
Window Activate |
Возникает, когда окно документа становится активным |
Quit |
Возникает перед закрытием приложения |
Метод Quit объекта Application завершает работу Word. При выходе из приложения можно сохранить все открытые документы. В следующем примере мы сначала спрашиваем пользователя, нужно ли сохранять документы, и, если он ответит "Да", сохраняем их:
Ans = MgsBox("Сохранить все документы", vbYesNo)
If Ans = vbYes Then Application.Quit SaveChanges:=wdSaveChanges
Объект Document и коллекция Documents
Когда запускается приложение MS Word, создается коллекция документов Documents, содержащая все открытые документы. Чтобы получить доступ к нужному документу в коллекции, достаточно указать его ключ (имя файла, хранящего документ) или его порядковый номер в коллекции. Каждый документ представляется объектом Document.
Основные методы коллекции Documents приведены в табл. 12.29.
Среди свойств объекта Document основной интерес представляют коллекции. Их довольно много (больше 30). Ос-
Таблица 12.29
Основные методы коллекции Documents
Метод |
Описание |
Add |
Создает новый пустой документ и добавляет его в коллекцию: Documents.Add |
Open |
Открывает существующий документ и добавляет его в коллекцию: Documents.Open FileName:= "C:My.docx" |
Save |
Сохраняет все документы коллекции |
Close |
Закрывает документы, сохраняя их, если в параметре задано сохранение, и удаляет из коллекции |
новными коллекциями являются: Characters (символы), Words (слова), Statements (предложения), Paragraphs (абзацы), Sections (разделы), Tables (таблицы). Обратите внимание, что в Word нет специальных классов для символа, слова или предложения. Элементами коллекций Characters, Words и Statements являются объекты класса Range. Так как любую часть документа можно задать, указав первый и последний символы фрагмента текста, работа с текстом ведется через методы и свойства объекта Range.
Основные методы объекта Document приведены в табл. 12.30.
Таблица 12.30
Основные методы объекта Document
Метод |
Описание |
Range |
Возвращает объект Range, соответствующий заданным начальной и конечной позициям в документе. Так можно выделить первые 10 символов активного документа: ActiveDocument.Range(Start:=0, End:=10).Select |
Select |
Выделяет содержимое документа |
SaveAs2 |
Сохраняет документ под новым именем или в другом формате: ActiveDocument.SaveAs2 FileName:= "Doc2.rtf”, _ FileFormat:=wdFormatRTF |
Close |
Закрывает документ. Так можно закрыть документ, не сохраняя: Documents("My.docx").CIose SaveChanges:=wdDoNotSaveChanges |
Print Out |
Печатает весь документ или его часть |