タイトル : Re^2: Cells.FindNextのループ中の解放 投稿日 : 2009/09/16(Wed) 14:55 投稿者 : camputer
魔界の仮面弁士 様 どうもありがとうございます!! >→ オブジェクト2を破棄する > (myRng と myFindNext の両方の参照先が使えなくなる) についてですが、アドバイスいただいた後もしばらく考え続けてみましたが myFindNextのみオブジェクト2を破棄する、といったような方法が思いつきません。。。 どうにかしてオブジェクト2を次回のループ先頭まで保持しておきながら、 毎回myFindNextを解放処理する必要があると思うのですが。 根本的に検索の文法がおかしいのでしょうか??? 一応下のようにMRComObject(myFindNext)をコメントアウトしてもExcel.EXEが 解放されますが、オブジェクト2を破棄できていないはずですし。。 Dim xlCells As Excel.Range = xlSheet.Cells Dim myRng As Excel.Range = xlCells.Find("文字列") If Not MyRng Is Nothing Then Dim 最初セル As String = myRng.Address Do Dim myFindNext As Excel.Range = xlCells.FindNext(myRng) MRComObject(myRng) myRng = myFindNext 'MRComObject(myFindNext) '←コメントアウト MsgBox(myRng.Value) If myRng.Address = 最初セル Then MRComObject(myRng) : myRng = Nothing End If Loop Until myRng Is Nothing End If MRComObject(myRng) MRComObject(xlCells) Dim s As String = rng.Address(False, True, Excel.XlReferenceStyle.xlR1C1) についてはどうもありがとうございました!ご指摘いただけたので 勘違いに気付くことができました^^; As Stringが画面の下に隠れておりました。 As XlReferenceStyle にリンクが付いておりましたので、重ねて勘違いした 次第でございます。 ご指摘いただきどうもありがとうございました。 |