Форум: "Основная";
Текущий архив: 2002.06.10;
Скачать: [xml.tar.bz2];
ВнизАвтоматическое закрытие Word после печати. Найти похожие ветки
← →
EternalWonderer (2002-05-30 15:12) [0]Задача: выдать документ на печать при помощи Word, после чего автоматически закрыть его.
Решение:
Procedure PrintClose(WordDoc: _Document);
Var EP: OleVariant;
Begin
EP := EmptyParam;
WordDoc.PrintOut(EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP);
WordDoc.Close(EP,EP,EP);
End;
Проблема: Всё работает замечательно, если Word не закрывается вместе с документом (т.е. если есть ещё открытые документы). В противном случае мы имеем малоприятное сообщение "Печать ещё не закончена. Закрытие Word приведёт ...". При помощи какого приёма можно заставить Word сначала допечатать документ, а потом уже закрыться?
← →
AFROLOV (2002-05-30 15:26) [1]
Const wdAlertsNone=0;
.....
.....
Procedure PrintClose(WordDoc: _Document);
Var EP: OleVariant;
Begin
EP := EmptyParam;
WordDoc.PrintOut(EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP);
WordDoc.DisplayAlerts:=wdAlertsNone;
WordDoc.Close(EP,EP,EP);
End;
← →
EternalWonderer (2002-05-30 15:37) [2]>AFROLOV © (30.05.02 15:26)
Маленькая поправочка:
WordDoc. Application.DisplayAlerts := wdAlertsNone;
Спасибо, но НЕ помогло.
← →
AFROLOV (2002-05-30 15:44) [3]Тогда есть предложение дождаться окончания печати и после этого закрывать Word. Или закрыть все документы и после этого закрывать Word.
← →
EternalWonderer (2002-05-30 16:01) [4]ОК, можно попытаться дождаться. Только вот как "спросить" у Word, закончил он печать документа или ещё нет?
Может, возможен такой вариант: написать макрос на VB, "запихнуть" его в Word, и запускать после PrintOut вместо Close, чтобы он дожидался окончания печати и закрывал документ (и Word)?
← →
AFROLOV (2002-05-30 16:20) [5]Цитата из справки по VBA:
BackgroundPrintingStatus Property
Returns the number of print jobs in the background printing queue. Read-only Long.
Ждем след образом:
While (WordDoc.Application.BackgroundPrintingStatus>0) do
begin
end;
← →
EternalWonderer (2002-05-30 16:40) [6]Отлично! Требуемая функциональность получена. Осталось немного "подрехтовать" (например, вынести запрос в отдельный поток, добавить контроль открытия других документов на момент окончания печати и т.д.). БОЛЬШОЕ спасибо, Алексей..
А вообще, мне кажется предпочтительней вариант с макросом, - вот только возиться некогда ...
← →
vecs (2002-05-30 17:18) [7]ето и многое другое может халявный ARWordReport
http://shortway.to/vsoft
← →
EternalWonderer (2002-05-30 17:19) [8]Спасибо, посмотрю ...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.06.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c