• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vb2008で操作中のエクセルが解放されてない?)

vb2008で操作中のエクセルが解放されてない?

このQ&Aのポイント
  • vb2008でエクセル操作をするアプリケーションを作成していますが、エクセルが解放されずに残ってしまう問題が発生しています。
  • コードの終了処理部分でオブジェクトを解放しているにも関わらず、Excel.exeが消えずに残ってしまいます。
  • 解放されない原因や解決策について教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

Comオブジェクトの開放順が違うからでしょう Comオブジェクトを Nothingにしてから開放しようとしてもVB.NETはどれを開放していいものやらわからないと思います > Rng = Nothing : MRComObject(Rng) > WB = Nothing : MRComObject(WB) > xlBooks = Nothing : MRComObject(xlBooks) > xlApp.Quit() : xlApp = Nothing : MRComObject(xlApp) を MRComObject(Rng) : Rng = Nothing MRComObject(WB) : WB = Nothing MRComObject(xlBooks) : xlBooks = Nothing xlApp.Quit() : MRComObject(xlApp) : xlApp = Nothing といった具合に 開放してから Nothingにしましょう 暗黙のオブジェクトを生まないように気おつけましょう 予算が許すなら Visual Studio Tools for Office(VSTO)なども検討してみましょう

camputer
質問者

お礼

redfox63様 ご指摘いただいた通りでございました.どうもありがとうございます. アプリ終了と同時に解放できるので悩みましたが,やはり 解放できていなかったんですね.  夜遅い時間にかかわらず閲覧・ご回答いただけたことに感謝いたします.  どうもありがとうございました.