oExcel = new Excel.Application();
// 指定したファイルをオープン
oWorkbook = (Excel.Workbook)(oExcel.Workbooks.Open(@"C:\AAA\AAA.xls,
Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value));
oSheet = (Excel.Worksheet)oWorkbook.ActiveSheet;
oRange = ((Excel.Range)oExcel.Application.Rows["1:42", Missing.Value]);
oRange.Copy(oExcel.Application.Rows["43:81", Missing.Value]);
oRange1 = (Excel.Range)oSheet.Cells[8, 1];
oRange1.Value ="aaa";
oExcel.DisplayAlerts = false;
oExcel.ActiveWorkbook.SaveAs(strFileName, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Excel.XlSaveAsAccessMode.xlNoChange,
Missing.Value, Missing.Value, Missing.Value, Missing.Value);
oExcel.DisplayAlerts = true; //元に戻す
System.Runtime.InteropServices.Marshal.IsComObject(oRange); //oRangeの解放
System.Runtime.InteropServices.Marshal.IsComObject(oRange1); //oRange1の解放
System.Runtime.InteropServices.Marshal.IsComObject(oSheet); //oSheetの解放
System.Runtime.InteropServices.Marshal.IsComObject(oWorkbook); //oWorkbookの解放
oExcel.ActiveWorkbook.Saved = true;
oExcel.Quit(); //Excelを終了する
System.Runtime.InteropServices.Marshal.IsComObject(oExcel); //oExcel を解放
GC.Collect();
上記コードでExcelのプロセスが残ってしまいます。EXE終了するとプロセスは消えます。
COMは解放していると思うのですが・・・どなたか教えて下さい。