C word что это

Обновлено: 05.07.2024

Часть 2. Работа с OLE-сервером Word.

Аналогично как и в части 1 - поставим целью из приложения (контроллера автоматизации) создать документ изображенный на Рис 2.1. Он также типичен с точки зрения созданя прикладных программ, использующих для вывода информации Word и содержит три наиболее часто используемых составных элемента: текстовую информацию, таблицу и диаграмму.

Путь создания данного документа - это шаги, которые позволят освоить работу с OLE сервером Word.


Рис 2.1 Итоговый документ, сформированный контроллером.

2.1 Получение доступа к интерфейсу Application для Word.

1. Включить в проект модули:

2. Определить - лучше глобально (для наглядности и удобства) - переменные, отражающие иерархию объектов Word
Приложение->Набор документов->документ->Набор парагрофов-> Параграф->Строки

3. создать объект автоматизации:

Чтение значения свойства.

2.2 Интерфейсы и константы

Список интерфейсов и констант получаем при просмотре библиотеки типов Microsoft Word Object Library, открыв например файл MSWord9.olb (или другой в зависимости от версии Microsoft Offise). О пользовании библиотекой см. Ч 1. P 1.2.

Аналогично будем пользоваться сохраненным файлом MSWord9.idl и использовать так называемый " хитрый метод ".

1. Запустить Word.

2. Сервис/Maкрос/Начать запись

3. Выполннить последовательность нужных действий.

4. Остановить запись

5. Вызвать Visual Basic (Alt+F11)

2.3 Создание рабочего документа

Создаем новое приложение (File/New/Application) и сохраним его файлы в директории по умолчанию (Projects) c именами по умолчанию Unit1.cpp, Unit1.h, Unit1.dfm, Project1.cpp, Project1.bpr. Имена на данном этапе не цель, хотя не возбраняется создать новую директорию и дать приложению и файлам подходящие имена.

Переменные соответствующие используемым в программе объектам, а именно:

определим сразу все и глобально или в файле Unit1.h (в разделе private:) или перед функциями в Unit1.cpp, хотя для данного этапа требуются пока не все переменные и можно определить нужные и локально.

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

Разместим на форме как и ранее три кнопки (из вкладки Standart компонент Button). Подписывать кнопки также не будем (сейчас это тоже не цель), но запомним, что по первой кнопке будем работать с таблицей, по второй с диаграммой, а по третьей закрывать сервер и приложение. Выполним два клика по Button1 и Button3, создаем таким образом обработчики события нажатия кнопки.

Вторяя кнопка таким образом служит для выхода из программы и закрытия сервера.

2.3.1 Вывод текстовой информации.

На первом этапе выводим текст. Пусть на данном этапе необходимо вывести следующее.


Рис 2.2 Вывод текстовой информации.

В обработчике нажатия первой кнопки начнем формировать код программы.

Создаем Объект Word.Application.

О использовании try catch мы также уже говорили в Ч 1. п 1.3.

Сделаем приложение видимым.

Переменной vVarDocs присваивается значение Documents - свойство объекта Word.Application, содержащее набор рабочих документов.

Добавляем созданный документ в приложение - для этого надо выполнить вызов, прототип которого:

Пре NewTemplate true создается шаблон при false - документ.

Правильно для конретной версии Word создание документа записать как:

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

Этот вызов можно повторить столько раз сколько будет создано рабочих документов. Следует обратить внимание, что обратиться к документу после его создания можно по свойству Item следующим образом:

Здесь n=1 соответствует последнему созданному документу, n-1 предпоследнему, и. т.д.

Создаем, например 2 документа:

Проверяем, что создано два документа:

Будем работать с первым документом, как ни странно его Item = 2:

Смотреть будем тоже на первый документ - т.е. активируем его:

Получаем свойство Paragraphs объекта документ:

Задаем текст для вывода:

Работаем с первым параграфом:

Заносим в него текст:

Выравниваем по правому краю (wdAlignParagraphRight - по правому краю), по причинам описанным выше используем константы вместо имен переменных:

Аналогично выводим следующие параграфы, в том числе и пустые:

Результат с достоинствами и недостатками видим на рисунке. Видно, что фон белый, шрифт не такой как хотельсь бы, включена линейка, проверка орфографии и т.п.

Читайте также: