Автор работы: Пользователь скрыл имя, 13 Февраля 2013 в 18:18, курсовая работа
Word — старейшее и самое популярное приложение, входящее в состав Microsoft Office. В большинстве организаций пользователи готовят документы именно в Word.
С точки зрения программирования Word — это прежде всего средство для изготовления отчетов к базам данных. При этом отчет — это любой документ, который формируется на основе информации из базы данных, например, договор, акт приемки-передачи, приходный кассовый ордер, объявление на взнос наличными, распоряжение в бухгалтерию, накладная и т.п
ВВЕДЕНИЕ
Word — старейшее и самое популярное приложение, входящее в состав Microsoft Office. В большинстве организаций пользователи готовят документы именно в Word.
С точки зрения программирования Word — это прежде всего средство для изготовления отчетов к базам данных. При этом отчет — это любой документ, который формируется на основе информации из базы данных, например, договор, акт приемки-передачи, приходный кассовый ордер, объявление на взнос наличными, распоряжение в бухгалтерию, накладная и т.п
Если же отчет изначально создается в документе Word, то пользователь всегда может сам внести в созданный документ необходимые изменения.
Еще одно программное применение Word — работа с разными форматами документов. Word умеет работать с документами самых разных форматов. Эти его возможности вполне можно применить для массовой обработки документов.
Третье программное применение Word — форматирование документов, например, программное применение стилей, поиск и замена участков текста сразу во многих документах, работа со структурой документа и т.п.
1 Введение в программирование в Word. Обзор объектной модели Word
На практике для решения большинства программных задач достаточно знать всего лишь пять объектов (с сопутствующими коллекциями):
2 Объект Application
2.1 Как работать с объектом Application
Объект Application — это само приложение Microsoft Word. Все остальные объекты Word "вложены" в этот объект. Создать этот объект — значит запустить Word на вашем компьютере.
Однако на практике появляется дополнительный риск нечаянно испортить открытый в существующем экземпляре созданный пользователем документ или закрыть существующий экземпляр Word без сохранения пользовательских документов. Поэтому лучше создавать новый экземпляр Word.
Если же код VBA выполняется в Word (то есть Word уже запущен), то объект Application создавать уже не надо. В этой ситуации он будет автоматически доступен в любой момент. Более того, если не указано, к какому объекту относится то или иное свойство или метод, компилятор VBA в Word автоматически считает, что это свойство или метод принадлежит объекту Application.
2.2Свойства, методы и события объекта Application
Свойства Application:
ActiveDocument — возвращает объект активного документа в данном экземпляре Word. Используется очень активно, обычно без упоминания объекта Application
Это свойство доступно только для чтения, поэтому, чтобы сделать какой-нибудь документ активным, придется вызывать для его объекта метод Activate().
AutomationSecurity — определяет уровень безопасности
при программном открытии файлов. По умолчанию
установлено значение msoAutomationSecurityLow, что
значит — открывать со включенными макросами.
Можно также использовать значения msoAutomationSecurityForceDisa
COMAdIns — позволяет получить ссылку на коллекцию загруженных COM Ad ins — встраиваемых в Word приложений, построенных по технологии COM. Очень удобно для проверок перед обращением к данному встраиваемому приложению.
CustomizationContext — свойство, которое позволяет указать шаблон или документ, на который будут распространяться внесенные вами изменения в меню, панели инструментов и клавиатурные комбинации.
DisplayAlerts — очень важное свойство. Оно позволяет подавить вывод ошибок и диалоговых окон при работе макросов и приложений VBA. Во многих ситуациях без него не обойтись. Особенно часто прибегать к этому свойству требуется, когда необходимо в ходе работы программы что-нибудь удалить или закрыть без сохранения.
Documents — видимо, самое важное свойство. Возвращает коллекцию документов. EnableCancelKey — это свойство определяет, сможет ли пользователь прервать выполнение макроса при нажатии клавиш <Ctrl>+<Break>. Если установить для этого свойства значение WdCancelDisabled, то это приведет к тому, что макрос, вошедших в бесконечный цикл, можно будет закрыть только вместе с Word — через Task Manager.
FileDialog — возвращает объект FileDialog, то есть окно выбора файла, каталога, открытия файла или сохранения. Для открытия этого окна необходимо воспользоваться методом Show() этого объекта.
FileSearch — возвращает объект FileSearch, который может использоваться для поиска файлов по определенным параметрам.
International — возвращает информацию о текущих региональных настройках — даты, времени, валюты, отображения чисел, локализации версии Word и т.п.
IsObjectValid — очень удобное свойство для всевозможных проверок. Проверяет, существует ли еще объект, к которому мы хотим обратиться. Позволяет уберечься от ошибок, когда, к примеру, документ или объект в документе был удален пользователем.
MacroContainer — позволяет в ходе выполнения определить, откуда был запущен текущий программный код (обычно проверяются два варианта — normal.dot или обычный текущий документ).
NewDocument — одна из возможностей создать новый документ Word. Возвращает объект NewDocument. Для создания нового документа используется метод Application.NewDocument.Add().
NormalTemplate — позволяет получить ссылку на объект Template, представляющий normal.dot — для внесения в него изменений.
Option — возвращает объект Option с огромным количеством свойств. Через этот объект программным способом можно настроить значения со всех вкладок, доступных на графическом экране через меню Сервис -> Параметры.
Path — возвращает путь к программным файлам Word на диске.
Selection — возвращает объект Selection — упрощенно говоря, место, в котором находится указатель вставки
Tasks — возвращает одноименную коллекцию Tasks с объектами Task, представляющими все работающие в системе процессы. При помощи этих объектов можно программным способом найти работающее в системе приложение и что-нибудь с ним сделать (сделать видимым или невидимым, активизировать, закрыть, передать в его окно сообщение Windows — как при работе с Windows API и т.п).
Самые важные методы объекта Application:
Activate() — просто активизировать окно Word с текущим документом. Обычно нужно активизировать определенный документ, поэтому этот метод используется для объекта Document.
CheckGrammar() и CheckSpelling() — позволяет проверить грамматику и орфографию для передаваемых символьных значений. Чаще используются аналогичные методы для объектов Document и Range.
CleanString() — позволяет "чистить" передаваемое символьное значение (полученное, например, от объектов Selection или Range) от специальных символов Word и превращать их в обычный текст — как будто он был набран в Блокноте — это свойство позволяет определить как именно был запущен Word — пользователем вручную или программным образом. На основе этого можно, например, сделать вывод, нужно ли его программным образом закрывать.
OnTime() — он позволяет выполнить макрос Word либо в указанное вами время, либо по прошествии какого-то времени. В Word одновременно может работать только один таймер. При помощи этого метода можно выполнять ресурсоемкие операции в автоматическом режиме.
Repeat() — просто повторить последнюю выполненную команду указанное вами количество раз
Run() — позволяет запустить процедуру/макрос из открытого шаблона/документа и передать ей параметры.
3 Коллекция Documents и объекты Document
3.1Как работать с коллекцией Documents
На одну ступень ниже объекта Application в объектной модели Word (и по логике использования в приложениях) находятся коллекция Documents и объекты Document, из которых она состоит. При программировании в Word без коллекции Documents и объекта Document обычно не обойтись.
Чаще всего в программах нам нужно:
Запустить Word;
Создать или открыть документ;
Что-то с этим документом сделать (например, впечатать в нужные места этого документа значения, полученные из базы данных или от пользователя).
Запуск Word производится при помощи объекта Application. Для выполнения различных действий с документом используются объекты Selection, Range и Bookmark А вот второй пункт — создание документа, открытие документа, проверка, открыт уже документ или нет, сохранение документа и т.п. реализуется при помощи коллекции Documents и объекта Document.
Где можно хранить шаблоны документов:
Сохранять документы лучше при помощи методов Save() и SaveAs() объекта Document. В коллекции Documents есть также свой метод Save(), который позволяет сохранять все открытые документы Word сразу, но обычно это менее удобно.
3.2 Свойства и методы коллекции Documents
Методы коллекции:
Add() — этот метод позволяет создать и сразу же открыть новый документ (и вернуть ссылку на его объект).
Template — это шаблон для создания нового документа, NewTemplate (true/false ) — делать ли новый документ шаблоном, DocumentType — варианты: wdNewBlankDocument , wdNewEmailMessage, wdNewFrameset или wdNewWebPage (по умолчанию — новый чистый документ ), Visible — будет ли новый документ видимым (по умолчанию ) или невидимым .
Open() —позволяет открыть документ с диска и добавить его в коллекцию. Этот метод принимает множество параметров, из которых обязательным является только один — имя документа (вместе с путем к нему).
3.3 Работа с объектом Document , его свойства и методы
После того, как мы при помощи объекта Application запустили Word, при помощи коллекции Documents создали (или открыли, или нашли среди уже открытых) — в общем, получили ссылку на нужный нам документ, можно выполнять с этим документом различные действия, реализованные при помощи свойств, методов и событий объекта Document.
Существует три способа получения доступа к объекту Document:
Самые важные свойства объекта Document:
ActiveWritingStyle — текущий активный стиль (заголовок определенного уровня, обычный текст, гиперссылка и т.п.). Рекомендуется проверить перед вводом текста.
AttachedTemplate — возможность подключить шаблон (со всеми макросами, стилями, записями автотекста и т.п.) или проверить, какой шаблон подключен (вручную это можно сделать через меню Сервис -> Шаблоны и надстройки).
Characters — возвращает коллекцию объектов Range, каждый из которых представляет один символ. Это свойство есть не только у объектов Document, но и у объектов Selection и Range. Может использоваться, например, для выполнения операция поиска и замены или статистических подсчетов (например, для если переводчику платят за количество символов);
Fields — возможность получить ссылку на коллекцию Fields одноименных объектов. Очень полезна при работе с полями.
HasPassword — проверить, назначен ли пароль для указанного документа. Password — назначить пароль. По причине крайней слабости парольной защиты пароли в Word, Excel и Access использовать не рекомендуется.
Name — возвращает имя документа (без пути к нему).
PageSetup — позволяет получить ссылку на одноименный объект. Используется, конечно, в основном при реализации печати.
Path — возвращает путь к документу в файловой системе (без имени). Может пригодиться, чтобы создать еще один файл по тому же пути.
Permission — возможность получить доступ к объекту Permission, который позволяет управлять системой внутренних разрешений документа Word (не разрешений файловой системы).
Saved — позволяет определить, изменялся ли документ со времени последнего изменения.
SaveFormat — позволяет получить информацию о формате документа (DOC, RTF, TXT, HTML и т.п.). Доступно только для чтения.
Type — возвращает тип документа (обычный, шаблон или Web-страница с фреймами).
Самые важные методы объекта Document:
Activate() — этот метод позволяет сделать указанный вами документ активным (например, для ввода текста).