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 - по правому краю), по причинам описанным выше используем константы вместо имен переменных:
Аналогично выводим следующие параграфы, в том числе и пустые:
Результат с достоинствами и недостатками видим на рисунке. Видно, что фон белый, шрифт не такой как хотельсь бы, включена линейка, проверка орфографии и т.п.
Читайте также: