※ ChatGPTを利用し、要約された質問です(原文:VS2003.NET(C#)からのEXCELのプロセス解放)
VS2003.NET(C#)からのEXCELのプロセス解放の方法
このQ&Aのポイント
VS2003.NET(C#)からのEXCELのプロセス解放について詳しく教えてください。
VS2003.NET(C#)でEXCELを使用した際に、セルの更新を行ってもプロセスが解放されずに残ってしまう問題が発生しています。解決方法を教えてください。
VS2003.NET(C#)でEXCELを操作する際に、プロセス解放の方法がわかりません。お知恵を拝借できますか?
VS2003.NET(C#)からのEXCELのプロセス解放
ご存知の方がいたら教えて下さい。
【動作環境】
OS:WINDOWS XP(SP2)
VisualStadio20003.NET(C#)
EXCEL2003
VS.NETのプロジェクトメニューの参照の追加で「Microsoft Excel 11.0 Object Library」を追加してあります。
セルの更新を行った場合に、プロセスが解放されずに残ってしまいます。
(セルの更新を行っている行を実行しない場合にはプロセスは解放されます)
いろいろ調べてはみたのですが、どうも原因がつかめません。
ご存知の方がいましたら教えてください。
(以下ソースコードになります)
Excel.Application app;
Excel.Workbook book;
Excel.Worksheet sheet;
Excel.Workbooks books;
Excel.Sheets sheets;
Excel.Range range;
app = new Excel.Application();
books = app.Workbooks;
book = books.Add("c:\\inetpub\\wwwroot\\ExcelData.xls");
sheets = book.Worksheets;
sheet = (Excel.Worksheet)sheets["Sheet1"];
range = sheet.get_Range("A1","A1");
range.Value2 = "テストです";
// 解放
Marshal.ReleaseComObject(range);
Marshal.ReleaseComObject(sheet);
Marshal.ReleaseComObject(sheets);
Marshal.ReleaseComObject(book);
Marshal.ReleaseComObject(books);
// Excel終了
app.Quit();
Marshal.ReleaseComObject(app);
よろしくお願いします。
お礼
無事にプロセスが終了されました!! ありがとうございました!! マイクロソフトが推奨していない為か、いろいろなサイトを見ても細かな部分が違っていたりして困惑していました。 (環境によっても違うようだし...) これで作業が進められます。今回はありがとうございました!