Автор работы: Пользователь скрыл имя, 04 Апреля 2013 в 11:12, курсовая работа
Цель работы – описание объектной модели MS’ Word, так как среди текстовых редакторов наибольшей популярностью, во всяком случае в России, сейчас пользуется Microsoft Word (одна из прикладных программ Microsoft Office). Это мощный универсальный инструмент делопроизводства, приближающийся по своим возможностям к издательским системам. В то же время это достаточно простой и удобный как в освоении, так и в работе инструмент, доступный массовому пользователю.
Введение………………………………………………………………………………..….3
1. Объектная модель MS’ Word…………………………………………………………..5
1.1 Характеристика объектов верхнего уровня………………………………………...7
1.2 Методы и свойства объектов верхнего уровня…………………………………….13
2. VBA, как специальный язык программирования объектной модели MS’Word….19
Заключение……………………………………………………………………………….21
Приложение 1…………………………………………………………...………………..22
Приложение 2……………..……………………………………………………………...24
Список используемой литературы……………………………………………………...27
ВВЕДЕНИЕ
Одними из первых программ, созданных для компьютера, были программы обработки текстов (текстовые редакторы). Первоначально ЭВМ с текстовыми редакторами должны были выполнять обычную работу печатной машинки. Соответственно, первые программы-редакторы выполняли ввод символов, их редактирование, распечатки полученного текста на принтере и прочее.
Современные текстовые редакторы очень далеко ушли вперед от своих предшественников и могут выполнять следующие функции:
и многое другое.
Цель работы – описание объектной модели MS’ Word, так как среди текстовых редакторов наибольшей популярностью, во всяком случае в России, сейчас пользуется Microsoft Word (одна из прикладных программ Microsoft Office). Это мощный универсальный инструмент делопроизводства, приближающийся по своим возможностям к издательским системам. В то же время это достаточно простой и удобный как в освоении, так и в работе инструмент, доступный массовому пользователю.
Технология разработки Microsoft Word базируется на концепции объектно-ориентированного программирования, в которой выдерживается единый подход к данным и программе. В основе всего лежит понятие объекта, его свойств и действия, которые объект может выполнить в зависимости от запроса.
В объектно-ориентированной среде с любым объектом сопоставлена определенная совокупность действий. Выбор из этой совокупности действий определяется поставленной целью. В результате упрощается технология работы пользователя, которому представляется возможность при работе в интерактивном (диалоговом) режиме применять наглядные инструменты и различные подсказки,
3
также создавать документы, фрагменты которых подготовлены в разных средах (например, в текстовом редакторе формируется текст, куда включаются рисунки, созданные в графическом редакторе, а также таблицы, подготовленные в табличном процессоре).
Методология проведения работы включает описание объектов MS’ Word, их взаимодействие в иерархической структуре и специального языка программирования – VBA – предназначенного для управления объектами.
4
1. Объектная модель MS’ Word
Текстовый редактор MS’ Word базируется на концепции объектно-ориентированного программирования, в основе которого лежит понятие объекта, объединяющего алгоритмы и данные, обрабатываемые этими алгоритмами.
Объектная модель MS’ Word предоставляет собой сотни объектов, с которыми можно взаимодействовать. Эти объекты организованы в иерархию, которая точно следует за пользовательским интерфейсом.
Представление объектов в иерархии объектной модели MS’ Word:
1.1 Document (объект документа)
a) Объекты Bookmark (объект закладки)
~ Range (объект диапазона)
б) Range (объект диапазона)
~ Объекты Bookmark (объект закладки)
1.2 Selection (объект выбора)
a) Объекты Bookmark (объект закладки)
~ Range (объект диапазона)
б) Document (объект документа)
~ Range (объект диапазона)
~ Объекты Bookmark(объект закладки)
в) Range (объект диапазона)
~ Объекты Bookmark (объект закладки)
Вверху иерархии находится объект Application. Этот объект представляет текущий экземпляр Word. Объект Application содержит объекты Document, Selection, Bookmark и Range. Каждый из этих объектов имеет много методов и свойств, которыми можно управлять и с которыми можно взаимодействовать.
На первый взгляд объектная модель — это множество перекрытий. Например, объекты Document и Selection члены объекта Application , но объект Document также член объекта Selection. Оба объекта, Document и Selection, содержат объекты
5
Bookmark и Range. Перекрытие существует, поскольку существует множество способов доступа к одному и тому же типу объекта. Например, форматирование применяется к объекту Range; но может понадобиться получить доступ к объектам в диапазоне текущего выбора, конкретного параграфа, раздела или всего документа [4, с. 110].
6
1.1 Характеристика объектов верхнего уровня
Объект приложения
Объект Application представляет само приложение MS’ Word и является родительским для всех других объектов. Его члены обычно применяются к MS’ Word в целом. Его свойства и методы можно использовать для управления средой MS’ Word.
При работе в Word объект Application создается автоматически, и через свойство Application можно получить ссылку на Word-объект Application. Создавая решения в Visual Studio. NET, вы можете использовать переменную This Application, которая определяется за вас внутри класса OfficeCodeBehind.
При программировании Word вне этого класса пользователю необходимо самому создавать объектную переменную для Word-объекта Application, а затем создать экземпляр Word:
' Visual Basic
Dim appWord As Word. Application = _
New Word. Application
// C#
Word. Application appWord = new Word. Application ();.
Переменная Word. Application позволяет работать так же, как и при использовании This Application. Однако при этом нужен дополнительный шаг для явного создания новой переменной Word. Application, тогда как This Application создается автоматически.
При ссылках на объекты и наборы, расположенные в иерархии ниже объекта Application, ссылаться на объект Application не требуется. Возможна ссылка на активный документ через встроенное свойство ThisDocument, не указывая объект Application. ThisDocument.
Получив ссылку на объект Application, пользователь может работать с его методами и свойствами. Этот объект предоставляет большой набор методов и свойств, позволяющих программно управлять Word. Большинство членов объекта
7
Application действуют глобально, а не на отдельные документы. Обращение к одним свойствам обычно требует единственной строки кода, а доступ к другим - более сложного кода [3, с. 90].
Объект документа
Рис. 1. Объектная модель документа MS’ Word
Объект Microsoft.Office.
8
объекта Application. Документ, в котором находится фокус, называется активным документом. Он представляется свойством Active Document объекта Application.
Средства разработки Office в Visual Studio расширяют объект Microsoft.Office. Interop.Word.Document,
предоставляя тип Microsoft.Office.Tools.Word.
При создании проекта уровня документа
разработчик может обратиться к
участникам Microsoft.Office.Tools.Word.
VB
C#
C++
F#
JScript
Копировать
Me.Paragraphs(1).Range.Select(
В проектах уровня приложения
можно создавать ведущие
Объект выбора
Объект Selection представляет область, выбранную в текущий момент. При выполнении в пользовательском интерфейсе MS’ Word какой-либо операции,
9
например, выделения текста жирным шрифтом, текст сначала выбирается, или высвечивается, а затем к нему применяется форматирование. Объект Selection всегда присутствует в документе. Если ничего не выделено, то этот объект представляет точку вставки. Кроме того, выбор может охватывать несколько разделенных блоков текста [5, с. 345].
Объект диапазона
Объект Range представляет непрерывную область документа и задается положениями начального и конечного символов. Нет ограничения на количество объектов Range. Можно задавать несколько объектов Range в одном документе. Объект Range имеет следующие характеристики:
1. Объект диапазона может представлять собой одну точку вставки, диапа-
зон текста.
2. Объект диапазона может представлять собой одну точку вставки, диапазон текста или весь документ.
3. Он может включать непечатные символы, например пробелы, символы табуляции и метки параграфов.
4. Он может представлять собой область текущего выделения или область за пределами текущего выделения.
5. Этот объект невидим в документе, в отличие от выделения, которое видимо всегда.
Он не сохраняется вместе с документом и существует только во время выполнения кода. При вставке текста в конец диапазона Word автоматически расширяет диапазон на размер вставленного текста, чтобы охватить и новый текст [1, с. 298].
Объект закладки
Объект Microsoft.Office.
10
Объект Microsoft.Office.Interop.Word.
1. Имена закладкам можно давать во время разработки.
2. Объекты Microsoft.Office.Interop.Word.
3. Закладки можно скрывать или делать видимыми, устанавливая для свойства Show Bookmarks объекта View соответствующее значение false или true.
Visual Studio расширяет объект Microsoft.Office.Interop.Word.
Объекты элементов управления содержимым
Visual Studio расширяет объект Microsoft. Office. Interop.Word.Content Con-trol,
разделяя его на несколько различных элементов
управления ведущего приложения. Поскольку
объект Microsoft.Office.Interop.Word.
11
ведущего приложения аналогично поведению собственных элементов управления Microsoft. Office.Interop Word. Content Control, однако они еще имеют дополнительные возможности событий и привязки к данным. Так как все элементы управления MS Word собраны в одну коллекцию, имеющую древовидную структуру, каждый узел которой может содержать как объекты, так и вложенные коллекции. Эту структуру можно настраивать и дополнять. Пользователь и программист, используя определенные инструменты, могут добавить, удалить, модифицировать или активизировать любой узел или объект этой структуры. При этом будут выполнены методы, соответствующие активизированным элементам управления [4, с. 456].
12
1.2 Методы и свойства объектов верхнего уровня
Объект приложения
Методы объекта Application:
1. BuildKeyCode, KeyString – горячие клавиши (BuildKeyCode возвращает уникальный цифровой код для заданной комбинации клавиш. KeyString возвращает комбинацию клавиш для переданного кода);