見出し画像

パソコン悪戦苦闘記録

VBAのプロパティの記述によってオブジェクトを取得

 プログラミング言語の一つ、
 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
名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「VBAプログラミング・マクロ」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事