EXCELプロセスの正常終了に関して
VB2008で、EXCELにデータを出力するプログラムを作成しています。
その際に、どうしてもタスクマネージャーにプロセスが残ってしまい、なんとかプロセスが残らない
ように、様々なホームページから消す方法等を検索し、実際に試してみましたが、未だ残ったままと
なってしまいます。
あるホームページには、下記のように"Cell"を使用するとプロセスが残ってしまうと記載が
あった為に、それを削除して実行してみましたが、やはり消えないままです。
以下のサンプルプログラムで、何をどうしたらプロセスが正常に消えてくれるでしょうか。。。
教えて頂きたいと思います。
なかなかこのEXCELのプロセスの扱いは理解しにくく、直書きとなって申し訳ありません。
よろしくお願いします。
《サンプルプログラム》
'既存のEXCELファイルを開く
Dim excelName As String = "C:\order.xls"
'起動時の処理
Dim xlApp As New Excel.Application
Dim xlBooks As Excel.Workbook
xlApp = New Excel.Application()
xlApp.Visible = True ' 確認のためExcelのウィンドウを表示する
' Excelファイルをオープンする
xlBooks = DirectCast((xlApp.Workbooks.Open( _
excelName, _
Type.Missing, _
Type.Missing, _
Type.Missing, _
Type.Missing, _
Type.Missing, _
Type.Missing, _
Type.Missing, _
Type.Missing, _
Type.Missing, _
Type.Missing, _
Type.Missing, _
Type.Missing)), _
Excel.Workbook)
Dim xlSheets As Excel.Sheets = xlBooks.Worksheets
Dim xlSheet As Excel.Worksheet = xlSheets.Item(1)
Dim x, y As Integer
x = 0
y = 17
'データをEXCELファイルに書き出し
Do While x < 1
xlSheet.Cells(10, 1).Value = "TEST" 'こちらの書き方も出来る
x = x + 1
y = y + 1
Loop
xlBooks.Close(Type.Missing, Type.Missing, Type.Missing)
xlApp.Quit()
' COM オブジェクトの解放
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBooks)
' Excel のプロセス終了
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)
お礼
C言語は使用しておりませんが、C言語などで作成したプログラムでもなるのですね。 勉強になりました。 ありがとうございました。