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

タイトル 【解決】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

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

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