![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Печать документа через Word [Delphi, Windows]
silversmith © (2006-09-18 10:39:00)Добрый день уважаемые коллеги.
Подскажите как решить следующую проблему:
Я печатаю из своего приложения доковский документ методом PrintOut
Как бы мне узнать, что документ уже распечатался и от него можно отцепиться
W:=CreateOleObject('Word.Application');
W.Documents.Open(FileName);
W.ActiveDocument.PrintOut;
Вот здесь бы я хотел подождать момента, когда он весь уйдет на печать и сделать;
W.Quit;
W:=Unasigned;
Delphi 7, MS Windows XP SP2, Word2000
Virgo_Style (2006-09-19 14:09:00) [1]BackgroundPrintingStatus ?
Машихин Алексей (2006-09-19 13:14:00) [2]Я сделал так :
try
w:=createoleobject('Word.application');
w.Documents.Open(s_out);
w.Application.PrintOut(false);
^^^
вот это означает что надо печатать не в фоновом режиме!
w.quit;
except
w.quit;
end;
silversmith (2006-09-18 11:02:00) [3]Спасибо за ответ.
Жаль, но это не вариант. Печатается большое количество документов - в районе нескольких сотен в цикле и ждать у заказчика никаких сил не хватит если у меня к примеру средний документ уходит на печать 5-7 секунд.
Может можно как-то у винды спросить состояние принтера? Правда это уже оффтоп в Corba и COM.
umbra (2006-09-18 10:56:00) [4]
> Вот здесь бы я хотел подождать момента, когда он весь уйдет
> на печать и сделать;
в ворде такого способа нет, судя по всему. Надо просто сделать паузу, длительность которой подобрать эмпирически.