| 
    
     |  | おはようございます。 
 End Withでオブジェクトが開放されない
 
 これをループさせるとどうなるのだろう。
 
 Sub test3()
 Dim i As Long
 Do Until i = 5
 Debug.Print "b1"
 With CreateObject("Scripting.Dictionary")
 .Add 1, GetClass1
 End With
 Debug.Print "b2"
 i = i + 1
 Loop
 End Sub
 
 と思いやってみると・・・、
 2回目以降の
 
 With CreateObject("Scripting.Dictionary")
 
 で参照しているオブジェクトを開放し、新たにインスタンスを作成している
 ように見えます。
 
 なんとなく、きちんとした仕様のように見えます。
 
 では、この現象(End Withでオブジェクトを開放する場合としない場合が存在する)
 の理由は? 何故? という疑問が残りますねえ!!
 インスタンス作成時の処理速度に関係があるのでしょうかねえ!!
 
 これも CreateObjectを使えば、End Withで開放されない
 
 が間違いないと仮定してですが・・・。
 
 
 |  |