ExcelVBAを学ぶ前に知っておくと良い基礎知識(オブジェクト編)

オブジェクト指向言語とは


今回はオブジェクトと呼ばれる概念について解説したいと思います。

オブジェクトとは簡単に言えばある機能などを共通項でくくり、一つのパッケージ化し仮想的に部品化したものです。

最近オブジェクト指向言語と言う言葉を耳にしたり、本屋さんで見かけたりしないでしょうか。

今回解説するオブジェクトがその基本要素オブジェクトにあたります。

ツリー構造になっている

そしていきなりですがオブジェクトと呼ばれる概念は以下のようなツリー構造で体系をなしております。

コレクション
Lオブジェクト
Lプロパティ
Lメソッド

オブジェクトと束ねたものがコレクション、オブジェクトの配下または構成しているものがプロパティ、メソッドなります。

まずはわからなくても良いのでこのツリー構造をなんとなく大まかに掴んだ上で以下の各解説をご覧ください。

オブジェクトとは


オブジェクトとは言葉の通り概念的対象や物と言う意味で、プログラミングにおいてはデータと処理のひとつのまとまりを意味します。

たとえば人間をオブジェクトに見立てると名前、性別と呼ばれる設定情報と、見る、聞く、話すなどの動作に関する動作情報があります。

後述しますが、この設定情報にあたるものをプロパティと呼び、動作情報にあたるものをメソッドと呼びます。

そしてオブジェクトのまとまったものをコレクションと呼びます。

プロパティとは


前述のとおりプロパティとはオブジェクトの設定情報にあたります。

たとえば車というものをオブジェクトとして考えるとカラー、タイヤの種類などがそれにあたります。

これらは本体に静的な設定情報を与えるとともに取得することも可能です。

VBAで記述する場合は

「オブジェクト.プロパティ名」

となります。

例題

例の車のような場合を例にすると、

Car.Color = “blue”

このように書け、この場合車(Car)のオブジェクトの色設定を青色に変更しなさいとなります。

認識としては取得、変更可能な設定情報と捉えると良いかと思います。

メソッドとは


こちらも前述のとおりメソッドとはオブジェクトに動作を与える動作情報のことをいいます。

前段と同様ふたたび車をオブジェクトに見立てるとアクセルを踏む、ブレーキを踏む、ハンドリング操作となります。

VBAで記述する場合は

「オブジェクト.メソッド名」

となります。

例題

こちらも前段同様車を例にすると

Car.AccelOn

このように形となり、車(Car)のオブジェクトにアクセルをオンしなさいと指示を与えた形となります。

まとめ


オブジェクトと概念お分かりいただけましたでしょうか?

おそらく最初のツリー構造で体系を掴んでそれぞれの意味を簡単に理解すればそう難しい話ではないはずです。

しかし、最初に説明したように現在のプログラムの基本となる考え方でオブジェクト指向言語と呼ばれる言語のベースとなる概念になります。

なのでここできちんと認識しておけば、VBAのみならず他の言語でもテンプレートが頭にあるのであとはその言語の書き方を掴めばすぐにオブジェクトを使ったり作れるようになれます。

ぜひ、今回の分で難しく考えず頭のなかにイメージを構築してもらえたらと思います。

※解説中の構文例はVBAでの構文です。基本的な考えは同じですが他の言語では記述の仕方が異なるのでご注意ください!