л.р.8 - Управление приложениями пакета MS Office
Управление MS Word (вывод отчетов БД в MS Word )
========= Отчет лаб8 ===========
Задание к лабораторной работе:
1. Вывести результаты простого запроса в файл Word (запрос к
одной таблице).
- См главную форму, кнопка
"Записать таблицу Lek_List.db (BDE) в файл .doc"
2. Вывести результаты запроса к связанным таблицам.
- См главную форму, кнопка
"Отчет: Master -> Detail (InterBase)"
3. Осуществить вывод запросов (пункты 1 и 2) в виде таблицы и
в виде произвольно расположенного набора полей.
- См главную форму, кнопка
"Записать таблицу Lek_List.db (BDE) в файл .doc - в произвольном виде"
4. Продемонстрировать ввод данных в таблицу из документа Word.
- См главную форму, кнопка
"Добавить страны из WinWord ( InterBase )"
========= Примечания ===============
1. Структуру объектов WinWord постигал из справки Visual Basic,
которая доступна, если открыть документ .doc и выбрать в меню:
Сервис | Макросы | Visual Basic, для поиска использовать окошко
"Введите вопрос". Здесь можно видеть свойства, методы, события объектов.
Конечно, VBA - не Делфи и все это на английском, но работать можно.
Дополнительная проверка - в редакторе Делфи (по автозавершению).
--------
Неиспользованные источники:
\Borland\Delphi7\Demos\ActiveX\OleAuto\Word8\
\Borland\Delphi7\Ocx\Servers\
файлы Word97.pas, Word2000.pas, WordXP.pas
- здесь интерфейсы, но по-моему, найти то, что нужно - сложнее,
но пользоваться конечно, можно
---------
2. Чтобы InterBase работала с кириллицей, вставьте
в TIBDatabase.Params:
user_name=SYSDBA
lc_ctype=WIN1251
3. Добавлено в БД Interbase (KAS6.gdb):
ALTER TABLE COUNTRIES
ADD CONSTRAINT cons2 UNIQUE (COUNTRY)
4. В проекте (8_2) использован 1 компонент (WA1: TWordApplication;)
с закладки Servers, а все остальное - через методы и свойства
этого WA1. Возможно, было бы удобнее применить и другие компоненты
для Word с этой закладки, но, как сказал Мимино: извините - так
получилось...
5. Другой возможный путь - использование
var WApp: OLEVariant;
....
WApp:= CreateOleObject('Word.Application');
также изучался, но оказался менее приятным.
Этот другой проект (8_1) тоже можно скачать и посмотреть, однако
здесь сделано меньше.
-------
Screens