2023-02-21

VBA勉強しよう!と思ってサイトサンプルコード見たら Set obj = Nothing とか書いてあって

結局勉強は1ミリも進まなかった

これ結局「変数参照カウントを0にすることでオブジェクトを破棄終了するような処理をすることはないかNothingの代入はヒステリー」でいいよね

CreateObjectったってただのオブジェクト生成だよね?

使用に際してopen/closeが必要な(そうするのが好ましい)ものVBAから操作するなにか)でもそのように表現されてるよね?

  • めんどくさいこと考えてるな 仰る通り、外部オブジェクトを生成した場合はその外部オブジェクトにcloseを伝え「なければ後始末になりえない」 Nothingを代入しなければならない例として...

  • へーVBAって全てのオブジェクトが参照カウント方式なんだね c++でshared_ptrしかないって考えると辛そう

  • これ広めてるの誰だよ 変数スコープの概念ないのかよ

  • VBAに限らず、ネット上の非公式のサンプルコードって、基本全部ウソだと思ったほうがいいよ。 そりゃあってるものもあるけど、そんなことで引っかかるなら全部ウソだと思ったほうが...

  • オブジェクト変数を Nothing に設定すると、オブジェクト変数と特定のオブジェクトとの関連付けが解除されます。 これにより、変数を変更することでオブジェクトを誤って変更するこ...

    • 実際のオブジェクトを参照する最後のオブジェクト変数が スコープ外になった後に暗黙的に解放されます。 これがあるなら即座にリソースを解放する必要がある時以外、明示的にNothin...

      • 即座にリソースを解放する必要がある時以外の使い道?即座にリソースを解放する必要がある時では?

  • つまりこれは本来「開いたら閉じる」系の外部リソースをループ回し中やエラー中断で開きっぱにして困ってた人が 「変数をNothingにすると(なぜか)症状が改善する!」と発見してそれが...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん