tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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は表示していませんでした。プロセスが残っていないと言うことでしょうか?
同時に、上記のシートが開かないこともなくなりました。

ただし、まだ実行形式にしたものの確認は出来ていません。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。