0

C# のアプリケーションから Excel レポートを生成しています。ユーザーが表示できるように Excel ファイルを開いて、後で変更できるようにしたいと考えています。

ただし、ユーザーが Excel アプリケーションを閉じると、プロセスEXCEL.EXEはまだプロセスとして実行されており、TaskManager に表示されます。

フォーラムを調べたところ、Excel によって参照されているすべてのオブジェクトを .NET を通じて解放する必要があるよう ReleaseComObject(object)です。

ただし、すべてのオブジェクトをプログラムで閉じたくはありませんが、この制御をユーザーに提供したいと考えています。そのため、ユーザーが Excel ファイルを閉じたときに、Excel が参照するすべてのオブジェクトを閉じたり解放したりできるでしょうか。

この方向で問題を解決するためのアドバイス/指針は、私に大いに役立ちます。

ありがとう

4

1 に答える 1

1

1 つの方法は、この回答のようにワークブックを開いた直後にすべてのハンドルを解放することです。

もう 1 つは、System.Diagnostics.Process.Startメソッドを使用して、生成したファイルを開く方法です。Process.Start を使用して Word 文書を開く方法の簡単な例は、ここにあります。

于 2012-12-10T15:38:21.093 に答える