2

私はかなり長い間、この回避策を試みてきましたが、まだ見つけていません。を呼び出すとDocuments.Close()、 で開いた Wordvisible = falseが表示されます。

これは私のクローズ ステートメントです (ドキュメントは既に保存されているため、再度保存する必要はありません)。

    WordApp.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges,
    Word.WdOriginalFormat.wdOriginalDocumentFormat);
4

6 に答える 6

3

を呼び出すだけWordApp.Quit()です。

Office アプリは引き続き MDI アプローチに従います。1 つのアプリを実行すると、そのアプリで 1 つ以上のドキュメントを開くことができます。

通常は 1 つのドキュメントしか開かないため、バックグラウンドでそのアプリを見失うのは簡単です。ただし、ここには 2 つのレベルの Close があります。

于 2012-04-15T19:57:23.310 に答える
1

WordApp.Visible = false操作の直後に明示的に設定することもできます。これにより短時間のフラッシュが発生する可能性がありますが、アプリケーションを非表示に戻す必要があります。

短時間の視認性の低下を避けるために、WordApp.ScreenUpdatingプロパティを使用することも役立つ場合があります。呼び出しを試みる前にfalseに設定し、Documents.Close()呼び出しが完了したらtrueにリセットします。

于 2012-05-08T19:32:05.267 に答える
0

上記のコメントはどれも私にとってはうまくいきません。私は試しました:

WordApp.ActiveWindow.Top = -5000

しかし、私のプログラムは「アクティブなウィンドウが最大化されています」という例外で終了します。

最終的には、呼び出し前に次の呼び出しで解決しましたDocument.Close():

m_word.ActiveWindow.WindowState = WdWindowState.wdWindowStateMinimize;

それは私にとって完璧な解決策です。それがあなたにとってもうまくいくことを願っています。

于 2016-10-12T15:40:29.293 に答える