前回はVBE(Visual Basic Editor)の基礎知識についてまとめました。
VBE(Visual Basic Editor)の基礎知識まとめ | Excelを制する者は人生を制す ~No Excel No Life~
VBAでできることのひとつとして「オブジェクトの操作」がありますが、その”オブジェクト”が何なのか、あいまいな理解だときちんとVBAを習得することは困難です。
Excelワークシート上(リボン内)では”オブジェクト”の記載のあるメニューもありますが、VBAで指す言葉の意味と範囲が異なります。
今回はExcelのオブジェクトの基礎知識をまとめていきます。
オブジェクトとは?
まず、そもそも他のプログラミング上でのオブジェクトの定義を確認します。
物、目標物、対象という意味の英単語。
ソフトウェアのユーザインターフェースなどでは、ユーザの操作対象として列挙されたアイテム(指定されたフォルダに含まれるファイルなど)のことを指すことが多い。
オブジェクト指向プログラミングにおいては、ソフトウェアが扱おうとしている現実世界に存在する物理的あるいは抽象的な実体を、属性(データ)と操作(メソッド)の集合としてモデル化し、コンピュータ上に再現したもの。オブジェクトを定義するモデルはクラスと呼ばれる。クラスに基づいて実際にコンピュータのメモリ上に展開されたオブジェクトのことをインスタンス(実体)と言うが、このインスタンスの意味でオブジェクトと呼ぶ場合も多い。
参照元:オブジェクトとは 【 object 】 – 意味/解説/説明/定義 : IT用語辞典
Excelワークシートでのオブジェクトの種類
Excelワークシート上でオブジェクトと呼ばれているのは以下の内容です。
- 図(オートシェイプやクリップアートなど)
- グラフ
- ワードアート
- スマートアート
ワークシートのセルに紐づかずに呼び出すことができるものがオブジェクトと呼ばれているといえますね。
Excel VBAでのオブジェクトの種類
VBAでいうオブジェクトは階層構造で管理されています。(「今すぐ使えるかんたんmini Excelマクロ&VBA基本技」を参照)
階層構造をイメージ化すると以下のような関係性となります。
- アプリケーション(Applicationオブジェクト)
- ブック(Bookオブジェクト)
- シート(Worksheetオブジェクト)
- セル(Rangeオブジェクト)
ひとつずつ確認します。
アプリケーション(Applicationオブジェクト)
ExcelやWord、Outlookなどのアプリケーションを指します。
ブック(Bookオブジェクト)
Excelのブックを指します。
シート(Worksheetオブジェクト)
Excelのワークシートを指します。
セル(Rangeオブジェクト)
Excelのセルを指します。
こちらに紹介した以外にもグラフや図などのオブジェクトも用意されているため、Excelを構成するすべてのものが「オブジェクト」だといえます。
まとめ
同じExcelでもワークシートの中とVBAでは”オブジェクト”の言葉の意味が変わるのが不思議ですね。
VBAでは広義の意味合い、ワークシート上では狭義の意味合いといったところですね。
ご参考になれば幸いですm(_ _)m