タイトル : Re^6: Excelを呼ぶとエラー 投稿日 : 2005/11/29(Tue) 18:03 投稿者 : すすくろ
[OSのVer]:Windows [VBのVer]:VB.NET お手数おかけして申し訳ありません。 参考資料を参考に、ご指摘の部分を自分なりに修正してみました コードは以下のように直しました。 Dim xlApp As New Excel.Application Dim xlBooks As Excel.Workbooks = xlApp.Workbooks Dim xlFilePath As String = Fname(2) Dim xlBook As Excel.Workbook = xlBooks.Open(xlFilePath) Dim xlSheets As Excel.Sheets = xlBook.Worksheets Dim xlSheet As Excel.Worksheet = xlSheets.Item(1) Dim xlCells As Excel.Range ’この部分修正 Dim xlRange As Excel.Range ’この部分修正 xlSheet = DirectCast(xlBook.ActiveSheet, Excel.Worksheet)’この部分修正 For i = 1 To Zcount For h = 1 To 51 Try xlCells = xlSheet.Cells ’この部分修正 xlRange = DirectCast(xlCells._Default(h, i + 1), Excel.Range) ’この部分 修正 DP(h, i) = CType(xlRange, Excel.Range).Value ’この部分修正 MRComObject(xlCells) ’この部分修正 xlCells = Nothing ’この部分修正 MRComObject(xlRange) ’この部分修正 xlRange = Nothing ’この部分修正 Catch ex As Exception DP(h, i) = "" End Try Next Next Cp = Zcount > 今一度確認して下さい。(開発環境でも同じです) > VBのプログラムを起動したまま、上記プログラムを実行して、Excelが終了した時点で > Ctrl キー と Alt キー と Del キーを押してタスクマネジャーを表示してExcel.EXE が > 表示したままになっていないか確認して下さい。 > すべてはそれからです。 > (VB のプログラムを終了するとExcel.exe が消える場合も同じで問題ありです) 開発環境で 先のコードの場合 Ctrl キー と Alt キー と Del キーを押してタスクマネジャーを表示してExcel.EXE が 表示したままとなっていました。 加えて、いままで書き忘れていました現象で開発環境でも、プログラムを終了したあと でエクセルのファイルをダブルクリックした場合、シートが開かないことがありました。 しかし、上記のコードとしたときは Excel.exeは表示していませんでした。プロセスが残っていないと言うことでしょうか? 同時に、上記のシートが開かないこともなくなりました。 ただし、まだ実行形式にしたものの確認は出来ていません。 |