1

次のように、作成時に Word OLE インスタンスを起動するスレッドがあります。

MSWord:=CreateOleObject('Word.Application');
MSWord.Visible:=FALSE;
document:=MSWord.Documents.Open(Fdocfile);
thisActiveDocument:=MSWord.ActiveDocument;
thisActiveDocument.Save;
document.Close;
MSWord.Quit(FALSE);

これをスレッドで実行することで、バックグラウンドで何かが行われていることをユーザーに知らせるプログレス バーを表示することもできます。( Delphi OLE オートメーション フリーズ GUIを参照)

ただし、開いているドキュメントにユーザーの介入が必要な場合、たとえばパスワードで保護されたドキュメントの場合、ユーザーがパスワードを入力するとすぐにスレッドが終了し、スレッド Execute の残りのコードが実行されないという問題があります。

4

0 に答える 0