Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Печать из Word [D6, Win95/98, Win2k]


fool ©   (2003-05-29 11:23:00) 

Надо отправить на печать сгенерированный документ и после этого документ закрыть(не сохраняя), если посылаю не закрывая, то все нормально, а если посылаю и сразу закрываю, то пишет: "если вы закроете документ, то печать может быть не выполнена, закрывать или нет". Я так понимаю, что после посылки на печать нужно дождаться сообщения от Word, что документ поставлен в очередь печати или отправлен на печать. Как отловить(получить) уведомляющее сообщение (Office2000)?

App := CreateOleObject("Word.Application");
if not Print then App.Visible := True;
App.Documents.Add;
Doc := App.ActiveDocument;
// тут генерируеться документ
if Print then
begin
Doc.PrintOut(,,,,,,,CountPrint);
// тут по идее тужно подождать, пока документ уйдет на печать
// как это сделать?
Doc.Close($00000000);
App.Quit;
end;
App := UnAssigned;


fool   (2003-05-29 14:20:00) [1]

На практике, я имею несколько кнопок, одни просто генерируют отчет в Ворд, а другие должны сгенерировать, послать на печать и закрыть документ, так вот, под эти все дела создаются отдельные потоки, в коих и происходит действие. При нажатии несколько раз на кнопки "Печать", как распознавать потом по сообщению диспетчера печати какой документ пошел на печать, и соответственно какой документ можно закрывать? К тому же пока генерируются отчеты я могу сам отправить ряд документов из других приложений на печать. Я предполагаю, что все же сервер (Ворд) должен послать сообщение, а контроллер (мое приложение) получить.


Song   (2003-05-29 13:27:00) [2]

Не от ворда, а от системы. Диспечер печати его посылает, когда появляется новая задача.


fool   (2003-05-29 11:54:00) [3]

>Song © (29.05.03 11:39)
А как от Ворда получить такое сообщение?


Song   (2003-05-29 11:39:00) [4]

Надо ловить когда документ будет поставлен в очередь печати.
WM_SPOOLERSTATUS для w9x
и FindFirst/NextPrintChangeNotification для NT


Наверх

Титульная страница Поиск, карта сайта Написать письмо