Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа.doc
Скачиваний:
6
Добавлен:
05.11.2018
Размер:
70.14 Кб
Скачать

Практическая работа № 3-4

Тема программы: Иерархия объектов пакета Office.

Тема урока:Word и его объекты.

Цели урока:

Обучающая – Познакомиться с иерархией объектов Word, с коллекцией объектов входящих в состав Application на верхнем уровне иерархии.

Воспитательная – воспитывать интерес к предмету, творческую активность, навыки самоконтроля;

Развивающая – развивать аккуратность при записи

  1. Просмотреть теоретический материал.

Каркас любого документа Word, как уже говорилось, составляют объекты разных классов, объединенные в библиотеки. Центральным объектом каркаса документа является объект этой библиотеки Application, определяющий само приложение.

Объект Application это один из самых "толстых" объектов, в него встроены объекты, задающие различные компоненты приложения Word. В программном проекте любого из открытых документов Word доступен корневой объект Application, определяющий само приложение. Одновременно становятся доступными и все встроенные в него объекты. В частности, становится доступной коллекция Documents всех открытых документов Word, а тем самым, и объект, задающий наш, например, только что открытый документ.

В приложении Word на разных уровнях иерархии определено около 200 объектов, совокупность которых и определяет мир объектов Word, его возможности, свойства и поведение. Сам корневой объект Word.Application имеет более сотни элементов: свойств, методов и событий.

Microsoft Word, как, впрочем, и другие приложения 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 и здесь же поговорим об использовании объектных переменных.

Объект Application - приложение

Объект Application можно представить в виде приложения Microsoft Word.

Такой код позволит вывести в окно сообщения информацию об имени приложения:

MsgBox Application.Name

Как видите, здесь мы обратились к свойству Name (Имя) объекта Application. Вот, что будет выведено при его исполнении.

Здесь мы обходимся без объектных переменных, работая с уже существующим объектом. Ведь если этот код исполняется в Microsoft Word, это значит, что сам Microsoft Word уже запущен.

Чтобы упростить обращение к нескольким свойствам объекта, можно воспользоваться оператором With-End With. Этот оператор позволяет обращаться к нескольким свойствам или методам объекта в упрощенной форме. Например, чтобы вывести имя приложения и узнать номер сборки программы нужно воспользоваться таким построением:

With Application

MsgBox .Name

MsgBox .Build

End With

Здесь мы использовали объект Application - вместо него может быть любой другой объект или объектная переменная.

Еще один оператор, которым удобно пользоваться при работе с объектами и коллекциями - это For Each…Next.

Например, для вывода в окнах сообщений имен всех открытых документов, можно написать такой код:

Dim var_Doc

For Each var_Doc In Application.Documents

MsgBox var_Doc.Name

Next var_Doc

Var_Doc - это переменная типа Variant. Коллекция Application.Documents содержит все открытые документы. При каждом проходе цикла в переменную var_Doc записывается ссылка на очередной объект в коллекции.

Чтобы выйти из цикла, можно воспользоваться оператором Exit For.

Сейчас мы кратко опишем важнейшие методы, свойства и события объекта Application.

Методы объекта Application

BuildKeyCode, KeyString - горячие клавиши

BuildKeyCode возвращает уникальный цифровой код для заданной комбинации клавиш. Используется при назначении "горячих клавиш" для выполнения различных операций.

KeyString возвращает комбинацию клавиш для переданного кода.

Ниже мы рассмотрим пример программного назначения клавиатурной комбинации для вызова макроса.

ChangeFileOpenDirectorу - путь для работы с файлами

ChangeFileOpenDirectory позволяет установить директорию, в которой Microsoft Word ищет файлы для открытия. В установленной папке программа будет искать файлы при программном открытии файлов и при вызове окна открытия файлов.

Application.ChangeFileOpenDirectory ("C:\Новые документы")

CleanString - очистка строк

CleanString очищает переданную строку от непечатаемых и специальных символов, превратив ее в обычный текст. Такой же текст можно получить, если скопировать текст из Microsoft Word в Блокнот, а потом - обратно. Например, с помощью такого кода можно получить очищенную строку из выделенной области документа.

str_Clean = Application.CleanString(Selection.Text)

Keyboard - программное переключение раскладки

Keyboard позволяет программно переключать раскладку клавиатуры. При переключении используется идентификатор языковых и клавиатурных установок. Чтобы включить русскую раскладку, можно воспользоваться таким кодом:

Application.Keyboard 1049

ListCommands - справка по горячим клавишам

ListCommands это необычный метод - если вызвать его с параметром True - он создаст новый документ, содержащий таблицу со списком клавиатурных сочетаний, назначенных командам MS Word. Таблица содержит несколько десятков страниц.

Application.ListCommands True

NewWindow - копия окна активного документа

NewWindow создает копию окна активного документа. Это может быть полезным например, для того, чтобы вывести один и тот же документ на два монитора при работе с расширенным рабочим столом и т.д. Например, метод можно вызвать так:

OnTime - запуск макросов по расписанию

OnTime позволяет устанавливать таймер, по которому можно запустить макрос в определенное время. Например, чтобы выполнить макрос MyMacros, который хранится в том же документе, что и исполняемый макрос, достаточно выполнить такой код.

Application.OnTime When:="08:37:00", Name:="MyMacro"

PrintOut - распечатка документов

Quit - выход из приложения

Run - запуск макросов

Например, запуск макроса MyMacros, расположенного в модуле NewModule проекта Project1 выглядит так:

Application.Run ("Project1.NewModule.MyMacro")

Параметры, передаваемые макросу, перечисляются после его имени через запятую.

ScreenRefresh - принудительное обновление экрана