C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 43 を表示中)
■22887 / )  エクセルのプロセスが残る環境と残らない環境
□投稿者/ ぐっちょん (14回)-(2008/08/05(Tue) 12:31:46)

分類:[.NET 全般] 

※実行環境(開発環境)
OS:WINDOWSXP(SP2)
Excelバージョン:Excel2000(9.0.3821 SR-1)

※(現地環境)
OS:WINDOWSXP(SP2)
Excelバージョン:Excel2000(9.0.3821 SR-1?)(同一だったと記憶していますが、確証無)
※現地ではネットワークに接続されていない為、WINDOWSの更新は行われていない

※開発言語
VB.NET2005

開発したアプリケーションでExcelを参照した後に、端末ごとにエクセルのプロセスが残る環境と残らない環境が存在します。
開発している環境では、どの端末を使用してもエクセルのプロセスが残らないのですが、
実際に現地で使用すると、端末にエクセルのプロセスが残ってしまいます。

Web等でエクセルのプロセスが残る現象を調べてソースを見直してみたりしましたが、特にソースに問題点は見受けられません。
(開発環境ではプロセスが残らない点からみて、ソースに問題はないかな?とは考えていますが)

エクセルのプロセスが残る問題として何があるのか検討がつかず、手詰まり状態となっています。
何か情報がありましたら、教えて頂けますでしょうか?
(WINDOWSの更新が行われていないとかが問題かなと考えてますが、関係ないかな?)

よろしくお願い致します。

※以下に念の為、ソースコード記載します。
================== 起動時の処理 ==================
Dim xlApp As New Excel.Application
Dim xlBooks As Excel.Workbooks = xlApp.Workbooks
Dim xlBook As Excel.Workbook = xlBooks.Add
Dim xlSheets As Excel.Sheets = xlBook.Worksheets
Dim xlSheet As Excel.Worksheet = CType(xlSheets.Item(1), Excel.Worksheet)

'================== データ入力 ==================
xlSheet.Cells.NumberFormatLocal = "@" '全体を文字列に
xlSheet.Range("A1").Resize(1, 10).Value = dataArray '範囲指定貼付(これをループで行ってます)

'================== ファイルの保存処理 ==================
xlApp.DisplayAlerts = False
xlSheet.SaveAs(SaveFileDialog1.FileName)

'================== 終了処理 =====================
MRComObject(xlSheet) 'xlSheet の解放
MRComObject(xlSheets) 'xlSheets の解放
xlBook.Close(False) 'xlBook を閉じる
MRComObject(xlBook) 'xlBook の解放
MRComObject(xlBooks) 'xlBooks の解放
xlApp.Quit() 'Excelを閉じる
MRComObject(xlApp) 'xlApp を解放

'オブジェクトの解放
Private Sub MRComObject(Of T As Class)(ByRef objCom As T)
If objCom Is Nothing Then
Return
End If
Try
If System.Runtime.InteropServices.Marshal.IsComObject(objCom) Then
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(objCom)
End If
返信 編集キー/


管理者用

- Child Tree -