Лабораторная работа №4. Разработка бизнес-приложений с использованием объектной модели Word
Цель работы
Изучить принципы работы объектной модели Word. Получить навыки работы с пространствами имен, классами, методами, используемыми для автоматической генерации и настройки документов.
Порядок выполнения работы
Дополним функциональность приложения «Телефонный справочник» возможностью генерации различных документов. Предположим, что программа должна формировать в Word приглашение на какое-то событие (день рождения, свадьбу и т.п.) для выбранного из БД человека.
Чтобы использовать объектную модель Word, в приложение нужно добавить соответствующие ссылки. Выделите в окне Solution Explorer папку References и выберите в контекстном меню пункт Add Reference… (рис. 4.1). Переключитесь на вкладку COM и выберите в ней Microsoft Word 11.0 Object Library (или более высокую версию).
Рисунок 4.1 – Добавление ссылки на объектную модель Word
В качестве шаблона, на основе которого будет формироваться документ, будет использоваться файл «приглашение.doc», внешний вид которого приведен на рисунке 4.2. Создайте этот файл и поместите его в папку docs в каталоге, где находится.exe-файл приложения (папку docs нужно создать самим).
|
|
Рисунок 4.2 – Внешний вид шаблона документа
Как видно, данный шаблон содержит в себе так называемые метки, заключенные в угловые скобки (<FIO>, <Holiday> и др.). В дальнейшем при формировании документа эти метки будут заменяться конкретными значениями.
Значение метки <FIO> будет браться из БД, т.е. приглашение будет формироваться для выбранного в таблице человека. А данные для всех остальных меток (наименование, дата, время и место проведения мероприятия) должны вводиться в программе отдельно. Это будет делаться в отдельном диалоговом окне.
Добавьте в проект новую форму Form3. Ее внешний вид показан на рисунке 4.3.
Рисунок 4.3 – Форма ввода исходных данных для приглашения
Для ввода даты проведения мероприятия использован компонент DateTimePicker, а для ввода времени – компонент MaskedTextBox с настроенным свойством Mask.
Для кнопок OK и Отмена установлено свойство DialogResult в значения OK и Cancel соответственно. После этого никаких дополнительных обработчиков для этих кнопок писать не требуется.
Всем компонентам для ввода данных нужно задать свойство Modifiers как Public, чтобы их значения можно было передавать в главную форму, где и будет формироваться документ.
Дальнейшая работа будет производиться с главной формой программы. Подключите в нее пространство имен Microsoft.Office.Core, содержащее в себе ядро объектной модели Word:
using Microsoft.Office.Core;
Для работы с Word нам понадобятся объекты, представляющие приложение и документ Word. Объявите их в классе формы следующим образом:
|
|
Microsoft.Office.Interop.Word.Application WordApp;
Microsoft.Office.Interop.Word.Document WordDocument;
Для формирования документов будут использоваться несколько дополнительных функций. Первая из них, OpenDocument, предназначена для создания нового документа Word на основе заданного шаблона. Имя файла шаблона передается функции в качестве параметра. Текст метода: