タイトル : 【解決】Re^3: レイトバインドするとExcelのFindNextオブジェクトが開放できなくなります 投稿日 : 2010/07/14(Wed) 19:29 投稿者 : camputer
どうもありがとうございました!!m(_ _)m 一瞬で解決いたしました!3日も悩んだのに orz ・・・ オブジェクト解放につきましてはほとんど手中に収めたつもりで おりましたが、全然まだまだですねー。。VB奥深し ̄_ ̄; If Not myRng Is Nothing Then Dim 最初セル As String = myRng.Address Do Dim myFindNext As Object = xlCells.FindNext(myRng) System.Runtime.InteropServices.Marshal.FinalReleaseComObject(myRng) myRng = myFindNext If myRng Is Nothing Then Exit Do Loop Until myRng.Address = 最初セル MRComObject(myRng) End If といたしました。Loop後の解放につきましてはそのままでございます。 こちらもFinalReleaseComObjectしてしまうとエラーが出るようでしたので、 魔界の仮面弁士様がおっしゃられた通り、 >このため、FindNext の処理では内部的に型チェックと Object → Range への >型変換が発生し、恐らくこの段階で参照カウントが増加してしまうのでしょう。 が原因のようでございます。 この度はどうもありがとうございました!!ようやく次のコードを 考えて楽しむことができます^^(早速また別の新たな問題が。。。φ(-_-; ) ご親切にどうもありがとうございました!!m(_ _)m |