#1_3 コレクション操作
コレクションとは何か
Excelのオブジェクトは「セル」「ワークシート」「グラフシート」「ワークブック」などがあります。
対してコレクションとは、同じ種類のオブジェクトの集合体のことを言います。すべてのセル、すべてのワークブックなどが、それぞれのコレクションです。
例えばすべてのブックを閉じたいと思った時は、ある特定のワークブックではなくワークブックのコレクションであるWorkbooksコレクションに命令をします。
ちなみにCellオブジェクトの集合体はCellsコレクション、Worksheetオブジェクトの集合体はWorksheetsコレクションになります。
コレクションを活用しよう
さて、まずすべてのブックを一度に閉じるマクロを見てみましょう。
次に、一番最初に開いたブックを閉じるマクロを書きますが、以下の2つのうち、下は間違っています。なぜでしょうか?
正しいマクロは「Workbooks」、間違ったマクロは「Workbook」と単数系になっています。ここがVBA最初の関門です。一番最初に開いたブックは1つしか存在しませんので、単数系でも良さそうな気がします。
しかし、Workbooksというキーワードに(1)という番号(インデックス番号)を指定しています。これは数あるWorkbookの集合体の中の1つ目という意味なのです。
VBAの作法として、単体のオブジェクトを指定するためには、そのコレクションにインデックス番号(あるいは名前)を用いて特定する必要があるのです。覚えておきましょう!