Форум: "Corba";
Текущий архив: 2009.06.28;
Скачать: [xml.tar.bz2];
ВнизПечать документа через 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 вся ветка
Форум: "Corba";
Текущий архив: 2009.06.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c