- - PR -
ASP.NETでEXCELシート内でのコピーで、EXCELが終了しない
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-02-02 21:22
初めまして。こんばんは。
ASP.NETで、Excelを使用した帳票を作成するアプリを開発しています。 問題になっている内容ですが、エクセルブック内でのデータの コピー&貼り付け処理を行うと、エクセルの終了処理を行った後でも、 タスクにエクセルのプロセスが残ってしまいます。 以下がソースです Public Xls As Object 'excel.application用 Public Books As Excel.Workbooks 'excel.workbooks Public Book As Excel.Workbook 'excel.workbook Public sheets As Excel.Sheets 'excel.worksheets Public SheetB As Excel.Worksheet 'excel.worksheet Public SheetL As Excel.Worksheet 'excel.worksheet Public xlsRB As Excel.Range 'excel.range Public xlsRL As Excel.Range 'excel.range Xls = CreateObject("excel.application") '起動 Books = Xls.Workbooks '設定 Book = Books.Open("ファイル名") 'エクセルファイルのオープン sheets = Book.Worksheets '設定 SheetB = CType(sheets("ベースシート名"), Excel.Worksheet) '設定 SheetL = CType(sheets("出力シート名"), Excel.Worksheet) '設定 xlsRB = SheetB.Cells '設定 xlsRL = SheetL.Cells '設定 xlsRB.Range(xlsRB(R1, C1), xlsRB(R2, C2)).Copy(xlsRL.Range("A1")) ←ここが問題点です。 書き込み処理(略) '** 保存 ** Book.Save() System.Runtime.InteropServices.Marshal.ReleaseComObject(Books) 'booksの開放 System.Runtime.InteropServices.Marshal.ReleaseComObject(sheets) 'sheetsの開放 System.Runtime.InteropServices.Marshal.ReleaseComObject(SheetB) 'sheetの開放 System.Runtime.InteropServices.Marshal.ReleaseComObject(SheetL) 'sheetの開放 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsRB) 'rangeの開放 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsRL) 'rangeの開放 Book.Close(False) 'bookのクローズ System.Runtime.InteropServices.Marshal.ReleaseComObject(Book) 'bookの開放 Book = Nothing Xls.DisplayAlerts = False 'メッセージ非表示 Xls.Quit() 'excel終了 System.Runtime.InteropServices.Marshal.ReleaseComObject(Xls) 'excelの開放 Xls = Nothing 'excelをnothing GC.Collect() これまでにも、いろいろな終了のさせ方やコピーの仕方を試しましたが、 すべてダメでした。現段階では、このInsider.NET 会議室の、 "[ASP.NET]EXCELが終了しない。(2003-01-20 22:30)"を参考にしています。 解決方法をご存知の方が御座いましたら、ご教授宜しくお願いいたします。 [ メッセージ編集済み 編集者: 未記入 編集日時 2005-02-03 09:11 ] | ||||||||
|
投稿日時: 2005-02-02 21:35
すべてを精査するには長いコードなので、「どこかで何かの参照がリークしているんでしょう」としか。。。 本題とは関係ないかもしれませんが、
は、もっと上の方がいいんじゃないでしょうか。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ |
1