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

Вниз

Как подождать пока Word напечатает документ?   Найти похожие ветки 

 
SergP.   (2005-07-12 18:45) [0]

Нужно с консольного приложения распечатать 2 документа WORD
проблема в том что программа пытается закрыть Ворд до того как тот закончит печатать.


...
var
db,md:string;
...

db:=...
...
mb:=...

...
    CoInitialize(nil);
    Word:=CreateOleObject("Word.Application");
//     word.visible:=true;
    Word.Documents.Open (db,
                          true, false, false,
                          "", "", false,
                          "", "", wdOpenFormattext);
                         Word.ActiveDocument.FitToPages ;
                         Word.ActiveDocument.PrintOut;
                         Word.ActiveDocument.Close;

     Word.Documents.Open (mb,
                          true, false, false,
                          "", "", false,
                          "", "", wdOpenFormattext);
                         Word.ActiveDocument.PrintOut;
                         Word.ActiveDocument.Close;
                         Word.Quit;

   Couninitialize;
...


Как сделать сабж?


 
SergP ©   (2005-07-13 04:54) [1]

пытался было перед открытием документа отключить фоновую печать, а перед закрытием ворда включить, но что-то не получается.

Ставил sleep(10000) - тогда есно все работает, но ИМХО это не совсем верное решение.

Есть ли все-таки нечто, позволяющее узнать закончил ли ВОРД фоновую печать?


 
MBo ©   (2005-07-13 07:47) [2]

Isn"t it possible to use "Get_BackgroundPrintingStatus" or
something like that to terminate the job when it is done?
>>

Yes. You can turn background printing off altogether using
the Application.Options.PrintBackground property (just set
it to false), or you can poll the
Application.BaskgroundPrintingStatus property, which
returns the count of Word print jobs outstanding - when
it"s 0, quit.

--

еще одно:
The Windows print spooler regularly broadcasts a system wide
WM_SPOOLERSTATUS message each time a job is added or deleted from the
spooler que. The following example demonstrates trapping for this
message.

Example:

type
 TForm1 = class(TForm)
   Label1: TLabel;
 private
   { Private declarations }
   procedure WM_SpoolerStatus(var Msg : TWMSPOOLERSTATUS);
     message WM_SPOOLERSTATUS;
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WM_SpoolerStatus(var Msg : TWMSPOOLERSTATUS);
begin
 Lable1.Caption := IntToStr(msg.JobsLeft) +
                   " Jobs currenly in spooler";
 msg.Result := 0;
end;

Joe
--
Joe C. Hecht

Deborah Pate (Team JEDI)


 
SergP.   (2005-07-13 16:43) [3]

Спасибо. воспользовался этим:


>  or you can poll the
> Application.BaskgroundPrintingStatus property, which
> returns the count of Word print jobs outstanding - when
>
> it"s 0, quit.


Только вот пол-часа возился пока не заметил
Application.BaskgroundPrintingStatus
:-)))



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

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

Наверх




Память: 0.45 MB
Время: 0.049 c
14-1120021304
Fin
2005-06-29 09:01
2005.07.31
Русская Операционная Система


1-1121197077
ronyn
2005-07-12 23:37
2005.07.31
Загрузка программы при загрузке ОС.


1-1121318797
tim
2005-07-14 09:26
2005.07.31
сворачеванье в трей


4-1117720650
DmitryShevelev
2005-06-02 17:57
2005.07.31
Delphi 6. Обработка ошибок в Graphics


14-1120484902
GRAND25
2005-07-04 17:48
2005.07.31
Воровство или мудрая политика в национальных интересах?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский