|    | 
     こんばんは、YU-TANG です。 
 
細かいことですが、もしかするとその細かいことを気にされている 
かもしれないので、念のため。 
 
▼UO3 さん: 
> Exitで抜けるタイミングでEnd Withが処理している 
> 【参照の解放】がなされるから気にする話ではないということですね。 
 
厳密に言うと、End With が行っているのは単にオブジェクトの修飾補完を 
終了するだけです。 
それに伴って参照が解放される場合もありますが、されない場合も 
あります。なので、End With を通ったからといって、参照の解放を 
当てにしない(期待しない)方が無難です。 
 
たとえば、ichinose さんのお書きになった【64192】のサンプルを 
お借りするとして。 
 
Sub test2() 
  With New Scripting.Dictionary    ' 事前バインディング(Scripting.Runtime ライブラリに参照設定) 
    .Add 1, GetClass1 
    Debug.Print "Break 1" 
  End With 
  Debug.Print "Break 2" 
End Sub 
 
Sub test3() 
  With CreateObject("Scripting.Dictionary")    ' 実行時バインディング(参照設定不要) 
    .Add 1, GetClass1 
    Debug.Print "Break 1" 
  End With 
  Debug.Print "Break 2" 
End Sub 
 
Function GetClass1() As Class1 
  Set GetClass1 = New Class1 
End Function 
 
test2 と test3 を実行してイミディエイト ウィンドウを確認されると、 
なかなか興味深い出力結果が得られると思います。 
 
それでは。 
 | 
     
    
   |