tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: Excelの終了時にプロセスが残ったままになります。
投稿日: 2003/12/12(Fri) 16:42
投稿者しんじ
すみません。
コードだけ見て記載してので間違えていました。汗
EXCELはワークシート、ワークブック、アプリケーションオブジェクトがありますので
起動する順番とは逆の手順で終了させなければいけません。

EXCELを起動する時は

Dim ExcelAp AS Excel.Application
Dim ExcelWb AS Excel.Workbook
Dim ExcelWs AS Excel.WorkSheets

と宣言されCreateオブジェクトからWorkBookをオープンにし、ワークシートの
インスタンスを設定して、EXCEL処理を行い、クローズという流れになるのが一般的です。


エクセルをクローズする時は、ワークシート、ワークブック、エクセル
の順序で終了していってガベージコレクションしてあげると終了します。
サンプルを作って試してみたところ私のPCでは正常に終了しました。

もっといい方法があるかもしれないのですが、私のスキルでは下記の
用になりました。

〜省略
〜ファイルを先に保存する。

ExcelAp.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(ExcelWs)
System.Runtime.InteropServices.Marshal.ReleaseComObject(ExcelWb)
System.Runtime.InteropServices.Marshal.ReleaseComObject(ExcelAp)
ExcelWs = Nothing
ExcelWb = Nothing
ExcelAp = Nothing
GC.Collect()

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。