今回はオブジェクトの階層についてお話します。システムを作成する上で必要な考え方です。
難しくないので、軽く読み流しちゃって下さい。
スポンサーリンク
オブジェクトの階層について
階層はこのようになっています。
例えば「A1セルに1を入れる」というのは
このように書くことができるというのはVBA講座2-6でお話しましたね。
ですがこれだけですと、複数のExcelファイルを開いている場合や、シートが複数ある場合、どのA1セルなのかがわかりません。
その時に使用するのが階層という考え方。
ApplicationというのはExcel自体のことです。イメージとしては会社名。
Workbookはブック。いわゆるExcelのファイルですね。イメージとしては部署。
WorksheetはExcelのシートです。イメージとしては役職。
Rangeはセルを意味します。イメージとしては名前。
会社内で職員の名前を呼ぶ時ってどうします?会社名はもちろん部署も結構省略されますよね。
例えば…「A社のB部署に所属するC課長」の場合。「C課長」と呼ばれる事が多いかと思います。
なぜA社、B部署が省略されるのか?それは…
いちいち言わなくてもわかるからです。
ただ役職と名前は省略しませんよね。「Cさん」と言ったら怒られますし、「おい」「ちょっと」なんて名前すら出さずに呼んだら左遷、下手したらクビでしょう(笑)。
VBAもこれと同じような感じです。
Applicationは基本省略します。Workbookも基本は1つでシステムを作りますので、こちらも省略する事が多いです。
WorksheetとRangeは基本省略しません。こんな感じでイメージしていただければわかりやすいかと思います。
スポンサーリンク
オブジェクトの階層~具体例~
それでは具体的にみていきましょう。
例えば…
家計簿という名前のファイルの(Workbook)
6月というシートの(Worksheet)
A1セル(Range)
に(=)
100を入れる。(100)
これらを繋げてみると…
こうなりますが、実際は最初の2つは省略しますので
こう書くことが多いです。
ちなみにWorkbookとWorksheetに「s」が付いている理由ですが、これは「複数ある中の一つを、後に続く(””)で指定している」という感じでとらえていただければわかりやすいかと思います。
それではオブジェクトの階層については以上です。お疲れ様でした。
次回はWithステートメントについてお話します。