
- •9.1. Объектная модель ms Word
- •9.2. Работа с объектными переменными
- •9.3. Объект Application - приложение
- •9.4. Методы объекта Application
- •9.4.1. BuildKeyCode, KeyString - горячие клавиши
- •9.4.2. ChangeFileOpenDirectorу - путь для работы с файлами
- •9.4.3. CleanString - очистка строк
- •9.4.4. Keyboard - программное переключение раскладки
- •9.4.5. ListCommands - справка по горячим клавишам
- •9.4.6. NewWindow - копия окна активного документа
- •9.4.7. OnTime - запуск макросов по расписанию
- •9.4.8. PrintOut - распечатка документов
- •9.4.9. Quit - выход из приложения
- •9.4.11. ScreenRefresh - принудительное обновление экрана
- •9.5. Свойства объекта Application
- •9.5.1. ActiveDocument и другие - активный документ
- •9.5.2. CapsLock - текущее состояние Caps Lock
- •9.5.3. Caption - заголовок окна ms Word
- •9.5.4. CustomizationContext - область сохранения настроек
- •9.5.5. Dialogs - диалоговые окна ms Word
- •9.5.6. DisplayAlerts - управление выводом сообщений
- •9.5.7. EnableCancelKey - запрещаем остановку программы
- •9.5.8. IsObjectValid - проверка объектных переменных
- •9.5.9. KeyBindings - назначаем клавиатурные сокращения
- •9.5.10. NumLock - состояние цифровой клавиатуры
- •9.5.11. RecentFiles - недавно открытые файлы
- •9.5.12. ScreenUpdating - запрет обновления экрана
- •9.5.13. StatusBar - вывод информации в строку состояния
- •9.5.14. System - системная информация
- •9.5.15. Tasks - работа с запущенными приложениями
- •9.5.16. Visible - скрытие окна ms Word
- •9.5.17. Windows - работа с окнами
- •9.6. События объекта Application
Объектная модель MS Word, объект Application
9.1. Объектная модель ms Word
Microsoft Word 2007, как, впрочем, и другие приложения Office, имеет большую объектную модель, в которую входят множество объектов и коллекций. Однако на практике чаще всего используются лишь некоторые из них.
В частности, это следующие:
Word (Microsoft Word) - чтобы вызывать объекты Microsoft Office Word из других приложений используется объект Word.
Application (Приложение) - объект, который включает в себя все остальные объекты и коллекции. Сам объект Application включается в объект Word.
Documents (Документы) - коллекция, которая включает в себя объекты Document (Документ). Объект Document представляет собой документ, с которым вы работаете в редакторе.
Bookmarks (Закладки) - c помощью объектов этой коллекции можно задавать места в документе, в которые, при автоматическом создании, можно вставлять изменяемые части.
Paragraphs (Абзацы), Sentences (Предложения),Words (Слова), Characters (Символы), Tables (Таблицы), OMath (Математические формулы), Эти коллекции, содержащие объекты, соответствующие их названиям, могут использоваться для обработки слов документа ( Words ), предложений ( Sentences ), отдельных символов ( Characters ) и т.д.
Selection (Выделенная область) - представляет собой выделенную область документа или позицию, в которую будет осуществляться вставка очередного символа. Этот объект часто используют при создании простых документов. Однако у него есть существенные недостатки, что делает предпочтительнее использование объекта Range в большинстве случаев.
Range (Диапазон) - входит в Document и другие объекты, представляет собой диапазон документа, ограниченный начальным и конечным символом.
Работая с объектной моделью MS Word следует понимать, что, например, объекты Documentи Selection могут содержать одинаковые коллекции объектов, например, и там и там есть коллекция Characters, в которую входят объекты Character - то есть - символы. Однако в случае с объектом Document мы можем работать с любым символом документа, а в случае сSelection - лишь с символами в пределах выделенной области. Однако, несмотря на различия, и там и там коллекция Characters имеет одинаковые свойства и методы. То же самое касается и других коллекций и объектов.
Давайте начнем с объекта Application и здесь же поговорим об использовании объектных переменных.
9.2. Работа с объектными переменными
Объектные переменные - это переменные, которые хранят ссылки на объекты. Чтобы инициализировать объектную переменную, нужно использовать ключевое слово Set. Например, так (листинг 9.1.):
Set obj_NewWord = Word.Application
Листинг 9.1. Связывание объекта с объектной переменной (html, txt)
Здесь вы можете видеть присваивание переменной ссылки на объект Word.Application. Код, подобный этому, нужен в других приложениях Microsoft Office для запуска нового экземпляра MS Word.
Для того чтобы вы могли работать с Microsoft Word из других приложений - подключите библиотеку Microsoft Word 12.0 Object Library. Сделать это можно, открыв в редакторе окно References командой Tools o References.
Немного ниже мы поговорим о том, что можно делать с объектными переменными, а пока сосредоточимся на их объявлении и инициализации.
Как видите, в листинге 9.1 мы не объявляли переменную - мы сразу присвоили ей ссылку на объект. При последующей работе с такой необъявленной объектной переменной, мы не сможем пользоваться подсказкой по свойствам и методам. Вспомните - когда вы набираете в редакторе имя элемента управления и ставите после него точку - вы видите подсказку. Это очень удобно, так как позволяет избежать ошибок и излишних "походов" в справочную систему VBA.
Для того чтобы справка по свойствам и методам работала, объектную переменную надо сначала объявить, а потом присвоить ей ссылку на объект. Например, так (листинг 9.2.):
Dim obj_NewWord As Word.Application
Set obj_NewWord = Word.Application
Листинг 9.2. Предварительное объявление объектной переменной (html, txt)
Ссылку на объект можно присвоить в процессе объявления переменной. Для этого нужно воспользоваться ключевым словом New(листинг 9.3.):
Dim obj_NewWord As New Word.Application
Листинг 9.3. Ключевое слово New при объявлении переменной (html, txt)
Переменную, объявленную таким образом, мы можем сразу же использовать по назначению. Новый экземпляр объекта будет создан при первом обращении к нему.
О том, как же пользоваться объектными переменными, скорее даже не ими, а объектами, на которые они ссылаются, мы поговорим ниже.