Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


17977 / 76732 ←次へ | 前へ→

【64199】Re:End With
発言  ichinose  - 10/1/25(月) 7:59 -

引用なし
パスワード
   おはようございます。

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で開放されない

が間違いないと仮定してですが・・・。

3 hits

【64189】End With UO3 10/1/24(日) 12:34 質問
【64190】Re:End With kanabun 10/1/24(日) 14:11 発言
【64191】Re:End With UO3 10/1/24(日) 14:53 お礼
【64196】Re:End With YU-TANG 10/1/24(日) 21:41 発言
【64197】Re:End With ichinose 10/1/24(日) 22:08 発言
【64198】Re:End With UO3 10/1/24(日) 22:10 お礼
【64199】Re:End With ichinose 10/1/25(月) 7:59 発言
【64192】Re:End With ichinose 10/1/24(日) 14:58 発言
【64193】Re:End With UO3 10/1/24(日) 15:34 お礼

17977 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free