Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.19;
Скачать: CL | DM;

Вниз

Выгрузка результатов в Word   Найти похожие ветки 

 
ambhtr   (2007-06-09 11:14) [0]

Результаты запроса вывожу в Word.
Общая схема следующая:
- На форму поместил DDE: TDdeClientConv;
- В процедуре пишем:
try
 DDE.OpenLink; { устанавливаем связь }
 Tv:=StrAlloc(20000);
 Ss:=StrAlloc(300); { выделяем память }

 qryDBF.First;
 while not qryDBF.Eof do
   begin

       // 1 - открываем документ и становимся в начало документа
       StrPCopy(Tv, "[FileOpen ""+ sNewFileName + ""][StartOfDocument]");
       if not DDE.ExecuteMacro(Tv,false) then
        begin
         MessageDlg("1 Ошибка связи с Microsoft Word.", mtError, [mbOk], 0);
         exit;
        end;

и далее идет заполнение документа

    qryDBF.Next;
   end;  //  while not qryDBF.Eof do
finally
 DDE.CloseLink; //Разрываем установленную ранее связь
 StrDispose(Tv);
 StrDispose(Ss);
end;

Но получается так, что каждый раз открывается сам Word и остается открытым и полученный файл приходиться "вручную" записывать и после этого закрывать Word.
Можно ли сделать так, чтобы выгрузка данных в Word, запись созданного файла и закрытие приложения Word, происходила без "визуализации" Worda.


 
clickmaker ©   (2007-06-09 11:31) [1]


> запись созданного файла и закрытие приложения Word, происходила
> без "визуализации" Worda

TWordApplication с Visible = false подойдет?


 
ambhtr   (2007-06-09 11:57) [2]

К сожалению, я не смог найти в DDE: TDdeClientConv;, что-нибудь со свойством Visible.
Есть DDE.DdeService := "winword";
Есть DDE.ServiceApplication := "C:\Program Files\Microsoft Office\Office10\WINWORD.EXE";
Я это взял из примера приведенного в какой-то статье. Давно. Саму статью найти не могу тоже.


 
clickmaker ©   (2007-06-09 12:06) [3]


> не смог найти в DDE: TDdeClientConv;, что-нибудь со свойством
> Visible

а кто сказал, что оно там?
я предлагал TWordApplication с закладки Servers


 
Amoeba ©   (2007-06-09 12:34) [4]


> ambhtr   (09.06.07 11:14)
>
> Результаты запроса вывожу в Word.
> Общая схема следующая:
> - На форму поместил DDE: TDdeClientConv;

И зачем понадобилось использовать сию давно устаревшую технологию? Ведь для таких задач есть OleAutomation.

http://www.podgoretsky.com/ddp.html
http://www.delphimaster.ru/articles/dbtoword/index.html



Страницы: 1 вся ветка

Текущий архив: 2007.08.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
2-1185190320
Oleg_teacher
2007-07-23 15:32
2007.08.19
скрола на мишке


15-1185014843
Kostafey
2007-07-21 14:47
2007.08.19
С днем рождения ! 21 июля


15-1183992453
Megabyte
2007-07-09 18:47
2007.08.19
Delphi 7 and MSSQL 2005


2-1184705148
JetAPI
2007-07-18 00:45
2007.08.19
TListView; закрасить/затереть текст в колонке.


11-1166716930
fender
2006-12-21 19:02
2007.08.19
KOL/MCK и обыкновенные VCL компоненты и библиотеки