Excel 2013 マクロ講座 8回オブジェクトとプロパティ、メソッド

オブジェクトとプロバティ

マクロ講座8回 
オブジェクトとプロバティ、メソッド

Excel 2013 マクロ講座8回オブジェクトとプロバティ、メソッド

オブジェクトとプロバティ、メソッドって何

今回は、オブジェクトとプロバティ、メソッドについて説明します。

(サンプルファイルは、こちらから 2013マクロ講座8回サンプルデータ

Visual Basic Editorをショートカットキーから表示する

Visual Basic Editorを開くために、マクロの表示ウィンドウを表示します。
ショートカットキーか、クイックアクセスツールバーに登録したボタンから起動します。

Visual Basic Editorが表示されました。左側の画面上部は、プロジェクトエクスプローラーです。Excelで開いているブックやマクロを管理します。
左下は、プロパティウィンドウで、選択したオブジェクトに設定されているプロパティを表示します。

「オブジェクト」とは操作の対象となるもの

オブジェクトというと、難しく感じてしまうかもしれませんが、
オブジェクトとは、操作の対象となるモノのことです。
Excelで作業する対象のモノといえば、セルやワークシート、ブック、ときにグラフであったり、フォームである場合もあります。


なんだ!物ならモノって言えよ!ってことですね。(Excelはアメリカ製ですから仕方ありません。)
要素名オブジェクト名
アプリケーションApplication
ワークブックWorkbook
ワークシート Worksheet
セル(レンジ)Range
グラフ(チャート)Chart

オブジェクトは階層構造で考える

ただし、VBAで扱う場合のオブジェクトは、階層構造で考えないといけません。たとえば、セルA1を指定する時に、シートが複数あれば、どのシートかわかりません。さらに複数のブックを開いていたらどのブックかわかりませんね。
住所を指定するように、上から下へ指定してやれば間違いません。
これが、オブジェクトの階層構造です。

セルはRangeというオブジェクトになり、ExcelはApplicationですので、以下のような階層構造になります。

実際にコードを記述する場合に、セルを指定するのにApplicationから指定することはありません。しかし省略しているということを意識してコードを記述するようにします。

また、階層が上のオブジェクトから指定する場合は、ピリオドで区切って指定します。


オブジェクトコレクションとはオブジェクトの集合体

同じオブジェクトをまとめて扱うにはオブジェクトコレクションを使います。
ワークシートのWorksheetオブジェクト、集合体はWorksheetsコレクションというようにオブジェクト名の最後に「s」つけることでまとめて扱うことができるようになります。
なお、セルを表す「Range」オブジェクトには、コレクションはありません。

プロパティはオブジェクトの属性

属性(ぞくせい)とは、モノ(操作の対象)に備わっている性質や特徴のことです。
する 質で、属性。
例えばオブジェクトがタイヤならば、「黒」「丸い」などがプロパティになります。
オブジェクトが自動車なら、「セダン」「白」「日産」などがプロパティになります。
この2つがわかっただけで、マクロの構文の1つが理解できてしまいます。その1つが、

のようになります。
もう一つ、オブジェクトに対する「動作」を指定するのが、メソッドです。
メソッドとは、「セルをコピーする」、「Sheet2を選択する」などのように動作を指定するものです。動詞と考えても良いですね。
マクロの構文の2つ目が、メソッドを使った「対象.動作」構文です。

例えば、自動車は、オブジェクトで、止まれは動作を指定するメソッド。
メソッドの中には、細かい指定もできるものがあり、それを「引数」と呼びます。
プロパティとメソッドについは、明確な分類の基準はないようです。
VBAというプログラムの中での分類なので、メソッドで設定するのか、プロパティで設定するのか、なんとなくそうなっているという程度に考えて対処していきましょう。
では、7回で作成したマクロのコードを開いて、確認していきましょう。
次の8回その2へ続く