- - PR -
Word終了のタイミング
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-02-17 14:38
こんにちは。
VB.netからWordを起動して印刷をしてWordを終了させるという処理を 行っているのですが、印刷(プレビュー)処理中にVBに制御が戻ってきてしまい 「Wordを閉じると印刷ジョブは全てキャンセルされます」のようなメッセージが 出てしまいます(プレビューだと一瞬だけ表示されてすぐにWord終了)。 エクセルの場合、エクセルの処理が終わるまでVBに制御は戻ってきません。 エクセルと同じ事がしたいのです。 Dim wdApp As New Word.Application wdApp.Visible = False wdApp.Documents.Open(filePath) wdApp.ActiveDocument.PrintOut() ――@ wdApp.Quit() ――A wdApp = Nothing @の実行中にAが実行されるため前述した現象が発生します。 どうかよろしくお願いします。 | ||||||||
|
投稿日時: 2004-02-17 18:35
きいぼーです。
Wordはデフォルトではバックグラウンド印刷がTrueになっている為ではないでしょうか wdApp.Options.PrintBackground = False を行ってから、 wdApp.ActiveDocument.PrintOut() を実行したらいかがでしょうか? すみません環境が無いのでためしていません。 | ||||||||
|
投稿日時: 2004-02-18 13:13
ありがとうございます。
この方法で実行したところ、正常に印刷できました。 プレビューにすると状況変わらずですが… とりあえず印刷ができるだけでOKです。 ありがとうございました。 | ||||||||
|
投稿日時: 2004-02-18 13:51
この間で、 System.Runtime.InteropServices.Marshal.ReleaseComObject(wdApp) してくださいね。参照が残ってWordのインスタンスが、プログラム終了まで残ってしまいます。 | ||||||||
|
投稿日時: 2004-02-18 15:12
ありがとうございます。
ReleaseComObjectを実行することでリソースがすぐに解放されるみたいですね。 勉強になります。 ありがとうございました。 | ||||||||
1
