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

Вниз

Печать документа через Word   Найти похожие ветки 

 
silversmith   (2006-09-18 10:39) [0]

Добрый день уважаемые коллеги.

Подскажите как решить следующую проблему:
Я печатаю из своего приложения доковский документ методом PrintOut
Как бы мне узнать, что документ уже распечатался и от него можно отцепиться
W:=CreateOleObject("Word.Application");
W.Documents.Open(FileName);
W.ActiveDocument.PrintOut;
Вот здесь бы я хотел подождать момента, когда он весь уйдет на печать и сделать;
W.Quit;
W:=Unasigned;

Delphi 7, MS Windows XP SP2, Word2000


 
umbra ©   (2006-09-18 10:56) [1]


> Вот здесь бы я хотел подождать момента, когда он весь уйдет
> на печать и сделать;

в ворде такого способа нет, судя по всему. Надо просто сделать паузу, длительность которой подобрать эмпирически.


 
silversmith   (2006-09-18 11:02) [2]

Спасибо за ответ.
Жаль, но это не вариант. Печатается большое количество документов - в районе нескольких сотен в цикле и ждать у заказчика никаких сил не хватит если у меня к примеру средний документ уходит на печать 5-7 секунд.

Может можно как-то у винды спросить состояние принтера? Правда это уже оффтоп в Corba и COM.


 
Машихин Алексей   (2006-09-19 13:14) [3]

Я сделал так :

try
 w:=createoleobject("Word.application");
 w.Documents.Open(s_out);
 w.Application.PrintOut(false);
                                ^^^
                                  вот это означает что надо печатать не в фоновом режиме!
 w.quit;
except
 w.quit;
end;


 
Virgo_Style ©   (2006-09-19 14:09) [4]

BackgroundPrintingStatus ?



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
4-1212063238
dev
2008-05-29 16:13
2009.06.28
кнопка с иконкой


2-1241585670
lewka
2009-05-06 08:54
2009.06.28
Работа с сылками в TWebBrowser


2-1241718057
Dimko_0
2009-05-07 21:40
2009.06.28
Как выполнить вызов функции из исполняемого файла по ее адресу?


15-1240305165
Cobalt
2009-04-21 13:12
2009.06.28
Лицензионность винды


15-1240316904
12
2009-04-21 16:28
2009.06.28
tsql. sql2000. Из хранимки узнать имя вызвавшей хранимки