1

Microsoft.Office.Interop.Excel オブジェクトを使用して C# から Excel を操作するときに問題が発生します。

問題は、Excel で既に開いているファイルを開いて書き込みしようとすると発生します。これは最終的にエラーとなり、Excel のインスタンスがバックグラウンドで実行されたままになります。

ファイルを開く前に、ファイルが既に開いていることを確認するにはどうすればよいですか?

また、Excel オブジェクトを破棄して Excel プロセスを強制終了する規則は何ですか?

4

3 に答える 3

2

次の記事は、ファイルが既に開いているかどうかを確認する良い方法を提供します。

ファイルが使用中かどうかを確認する方法はありますか?

この記事では、Excel プロセスの強制終了について説明しています。

キル プロセス Excel C#

これらがお役に立てば幸いです

于 2012-07-25T11:43:27.363 に答える
0

こんにちは、処理の最後にExcelオブジェクトを破棄する必要があります(ワークブック、applicationClass、usedRange、ワークシート)

        workbook.Close(false, workbookPath, null);
        applicationClass.Quit();

        while (Marshal.ReleaseComObject(usedRange) > 0)
        { }
        while (Marshal.ReleaseComObject(worksheet) > 0)
        { }
        while (Marshal.ReleaseComObject(workbook) > 0)
        { }
        while (Marshal.ReleaseComObject(applicationClass) > 0)
        { }
于 2012-07-25T11:53:57.393 に答える