私はオフィスの相互運用機能ライブラリを使用してExcelのシートコンテンツにアクセスするVBフォームアプリケーションを開発しています。以下の簡単な例を取るオフィスでWindows 8に2016Office interopを正しく閉じるアプリケーション
の開発:
Import excel = Microsoft.Office.Interop.Excel
Private Sub Form_Load(sender As Object, e as EventArgs) Handles MyBase.Load
Dim excelApp as excel.Application = New excel.Application
excelApp.Quit
End Sub
これは、リークが発生するように見えます。フォームがまだ開いている間、コマンドプロンプトからタスクリストを呼び出すと、実行中のExcelアプリケーションが表示されます(私のマシンに15Mのメモリを消費します)。 Excelプロセスは、基本VBアプリケーションがユーザーによって閉じられると終了します。
私のアプリケーションでは、Excelプロセスが終了する前に終了する親プロセスに応じて、受け入れられません。どのようにこれらの優れたプロセスを殺すことができますか?
Import excel = Microsoft.Office.Interop.Excel
Private Sub Form_Load(sender As Object, e as EventArgs) Handles MyBase.Load
Dim excelApp as excel.Application = New excel.Application
excelApp.Quit()
excelApp = Nothing
GC.Collect()
End Sub
dupsを投稿する前に** **回答があるものを検索してください... – Codexer
謝罪は、私の検索でそれを見つけませんでした。 – khol