- ベストアンサー
エクセルのブックはVBAでオブジェクトと言うことは
VBAでアクセスではフォームの事をオブジェクトと言いますが エクセルのブックはVBAでオブジェクトと言うことはありますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
あります。 VBAでも使うほうは「クラス」というのは余りそこまで使われないが、MSのエクセル開発段階では、使われていると思う。クラスが実メモリーの中に実現したものがオブジェクトだ。あるいはそういう考えをオブジェクト指向と言ったりする。そしてどちらかというと、実行時に画面などで見えるものをいう場合(コントロールやフォーム)が多いが、そうで無いのもある。VB.NET系になると、勉強する場合に逃げられない事項になる。 ブックはプロパティやメソッドがあり、階層的にはApplication-Workbook(Addin、Debug、Window,以下略)のようだ、 これを系統立てて説明している(市販本は初心者向けが多いし)解説書は余りない。意識しなくても、そこそこVBAは組めるから。とりあえず、今後出てくる記述など気をつけて、勉強課題ということで、先に進むべきと思う。 質問者はもっとVBAについて知らなければならないことが多々あるレベルだろうと思う。またプログラムの処理ロジックについて経験を積む必要が(推測だが)たくさんあると思うので。
その他の回答 (1)
- Siegrune
- ベストアンサー率35% (316/895)
みんな大抵省略して cells(1,"A").value や sheets("ABC").cells(1,"A").value と書きますけど workbooks("book1.xls").sheets("ABC").cells(1,"A").value と書く方法もあり (別のbookに値を代入するときとかは、 workbooks("book1.xls").activate sheets("ABC").cells(1,"A").value と2行書かずに実行できる。) このときworkbooks("book1.xls")はオブジェクトとして扱われていることがわかると思います。 なお、余談ですが、workbooks("book1.xls")は必ずしもディスク上に書き込まれたxlsファイルを 意味するものではなく、EXCEL上に開かれたファイルを意味していますが。 (EXCEL上は変更されますが保存しなければディスク上のファイルは変更されません。)
お礼
ありがとうございました。
お礼
ありがとうございました。