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

タイトル Re^7: Cells.FindNextのループ中の解放
投稿日: 2009/09/16(Wed) 22:13
投稿者camputer

 魔界の仮面弁士 様

 どうもありがとうございました!!
あの後,下のようにコードを書き換えせさていただきました.
念のため,myRngとmyFindNextが偶然解放されていないかどうかをテストしてみたかったので
これらを多用するサブルーチンをLoopの中で呼び出してみましたが,
きれいに解放出来ているようです.本当にどうもありがとうございます!!

                If Not myRng Is Nothing Then
                    Dim 最初セル As String = myRng.Address
                    Do

                        'ここで300行程度のサブルーチンを呼び出してみましたが,
            '問題なさそうでございます

                        Dim myFindNext As Excel.Range = xlCells.FindNext(myRng)
                        MRComObject(myRng)
                        myRng = myFindNext
                        If myRng Is Nothing Then Exit Do
                    Loop Until myRng.Address = 最初セル
                End If

 数時間前まで(魔界の仮面弁士様からアドバイスいただく前)の私には,
上のコードでは「myFindNextが解放されていない」ように見えて
                     仕方がありませんでした^^;
長い間,オブジェクトは変数単位で解放する必要があるものだと...orz
 アドバイスいただけましたおかげで,また理解が深まりましたし,
ようやくコードの続きを考えて楽しむことができます.
関連して勉強することも増えてよかったです.
 いつも言葉でしかお礼をさせていただく事しかできませんが,
沢山のアドバイスをいただき,本当にどうもありがとうございます!!
今後もどうぞよろしくお願いいたします.  Camputer.

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

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