Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];

Вниз

Выгрузка результатов в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.049 c
15-1185171911
question
2007-07-23 10:25
2007.08.19
програмист для ПО под виндоус из Москвы


15-1185094245
ElectriC
2007-07-22 12:50
2007.08.19
ID Tech 5


2-1185371182
AlexanderMS
2007-07-25 17:46
2007.08.19
Система координат в OpenGL.


1-1180541090
DevilDevil
2007-05-30 20:04
2007.08.19
ShowModal и MessageBox


15-1185099697
ProgRAMmer Dimonych
2007-07-22 14:21
2007.08.19
Борьба с повторной отправкой формы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский