Програмное формирование документа Word

Автор работы: Пользователь скрыл имя, 13 Февраля 2013 в 18:18, курсовая работа

Описание работы

Word — старейшее и самое популярное приложение, входящее в состав Microsoft Office. В большинстве организаций пользователи готовят документы именно в Word.
С точки зрения программирования Word — это прежде всего средство для изготовления отчетов к базам данных. При этом отчет — это любой документ, который формируется на основе информации из базы данных, например, договор, акт приемки-передачи, приходный кассовый ордер, объявление на взнос наличными, распоряжение в бухгалтерию, накладная и т.п

Файлы: 1 файл

мой курсач.docx

— 48.65 Кб (Скачать файл)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

Учреждение образования 
«Брестский государственный университет имени А. С. Пушкина»

Математический факультет 
Кафедра математического моделирования

Курсовая работа

ПРОГРАМНОЕ ФОРМИРОВАНИЕ ДОКУМЕНТА WORD

Савельева Татьяна Петровна, 
студент 3 курса специальности «Экономическая кибернетика»

Будько Дмитрий Александрович  – ассистент кафедры математического  моделирования

Брест 2010 

ВВЕДЕНИЕ

Word — старейшее и самое популярное приложение, входящее в состав Microsoft Office. В большинстве организаций пользователи готовят документы именно в Word.

С точки  зрения программирования Word — это прежде всего средство для изготовления отчетов к базам данных. При этом отчет — это любой документ, который формируется на основе информации из базы данных, например, договор, акт приемки-передачи, приходный кассовый ордер, объявление на взнос наличными, распоряжение в бухгалтерию, накладная и т.п

Если  же отчет изначально создается в  документе Word, то пользователь всегда может сам внести в созданный документ необходимые изменения.

Еще одно программное применение Word — работа с разными форматами документов. Word умеет работать с документами самых разных форматов. Эти его возможности вполне можно применить для массовой обработки документов.

Третье  программное применение Word — форматирование документов, например, программное применение стилей, поиск и замена участков текста сразу во многих документах, работа со структурой документа и т.п.

 

1 Введение в программирование в Word. Обзор объектной модели Word

На  практике для решения большинства  программных задач достаточно знать  всего лишь пять объектов (с сопутствующими коллекциями):

    • объект Application;
    • объект Document (с коллекцией Documents);
    • объект Selection;
    • объект Range;
    • объект Bookmark (с коллекцией Bookmarks).

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, что значит — открывать со включенными макросами. Можно также использовать значения msoAutomationSecurityForceDisable — отключить макросы и msoAutomationSecurityByUI — то, что настроено на графическом интерфейсе.

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.

Где можно хранить шаблоны документов:

    • первый вариант — просто в файле на диске локального компьютера пользователя. Это — самый простой вариант, но у него есть недостатки: во-первых, пользователь может случайно его изменить, а во-вторых, удобнее использовать общий централизованный набор шаблонов для всех пользователей на предприятии, не копируя эти шаблоны на компьютеры каждого пользователя;
    • второй вариант — хранить шаблоны в скрытом сетевом каталоге на файл-сервере, доступном только на чтение. При этом нам не придется заботиться о наличие необходимого шаблона на компьютере пользователя. Однако и есть здесь проблемы: программа получается неавтономной, зависящей от внешних файлов на файл-сервере. Перенос ее, например, в филиалы будет сопряжен со сложностями;
    • третий вариант — поместить шаблон в базу данных. Удобнее всего поместить шаблон в виде объекта OLE в базу данных Access. В этой же базе данных Access удобно размещать код приложения, графические формы для пользователя и т.п. Запуск Word при этом будет производиться программно из Access. Конечно, такая программа сможет обращаться не только к данным в базе данных Access. но и к данным во внешних источниках — на SQL Server, Oracle и т.п.

Сохранять документы лучше при помощи методов  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:

    1. работать с документом как с элементов коллекции Documents.
    2. использовать специальное ключевое слово ThisDocument. При помощи него можно получить ссылку на объект документа, которому принадлежит исполняемый программный модуль
    3. использовать свойство объекта Application ActiveDocument. Это свойство возвращает нам объект активного документа.

Самые важные свойства объекта 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() — этот метод позволяет сделать указанный вами документ активным (например, для ввода текста).

Информация о работе Програмное формирование документа Word