VBA(ビジュアル ベーシック フォー アプリケーション)
を使って書かれたコードは、コンピューターに対する動作の指示、命令文です。
そこでは、「何」を「どうしなさい」という形で、指示、命令を記述します。
この「何」、つまり、処理や操作の対象となる物が、オブジェクト(object)です。
オブジェクトには、「属性」「特徴」があり、これがプロパティです。
上記のオブジェクトとプロパティについての解説は、
⇒ こちらの過去記事をご覧ください。
この度、上記の過去記事を改めて読み直してみたのですが、
(自分で言うのも何ですが、)なかなかの説明ぶりだと思います(・・・・と自負しています。)。
Word VBA を例にして、説明しています。
上記の過去記事において、次のように解説しました。
プロパティの値を変更する(値の設定)には、
オブジェクト.プロパティ = プロパティの値
という構文になります。
ActiveDocument.Content.Font.Color = vbRed
ActiveDocument.Content.Fontは、本文(Content)の文字(Font)を意味するオブジェクトで、
その文字色(フォントカラー)、Colorプロパティに、vbRedという値を設定しています。
これにより、文書本文の文字の色が、赤色に変更されます。
<・・・以上、過去記事引用終わり>
結論的には上記の解説のとおりなのですが、これをより細かく、正確に解説すると、
上記の
ActiveDocumentも
Contentも
Fontも
いずれも、コード自体はプロパティです。オブジェクトではなく、実はプロパティなのです。
ActiveDocumentは、親オブジェクトであるApplicationのプロパティで、
Contentは、ActiveDocumentのプロパティで、
Fontは、Contentのプロパティで、
最後のColorも、もちろんFontのプロパティ
です。
この解説文に出会うと、初心者は間違いなく混乱します。
考えれば考えるほど、訳が分からなくなります。
「え?なんで?」
「Colorはいいとして、他はオブジェクトじゃないんかい?」
・・・って。
そこで、これをさらに丁寧に解説すると、
ActiveDocumentと記述すると、このコード自体はプロパティを記述しているのですが、このプロパティは、ActiveDocumentオブジェクト、つまりアクティブな文書という『オブジェクトを返します。』
このことは、関数やメソッドの戻り値の場合と同じです。
つまり、ActiveDocumentプロパティを記述することによって、ActiveDocumentオブジェクトを取得しているのです。そして、ActiveDocumentオブジェクトを取得することによって、Contentプロパティを参照できるようになります。
上記のとおり、プロパティのコードを記述することによって、オブジェクトを取得しているのです。
最初はなかなか受け入れるのがむつかしい説明です。ですが、何度も繰り返しこの説明文を読むうちに、納得できるようになります。そして、そのときに、借り物の知識ではなく、自分自身の本物の知識となります。
これは、英語の勉強と同じですね。何度も繰り返すことによって、いつの間にか自分の言葉として使えるようになります。
それでは、また次の記事で
■■■■ goosyun ■■■■