「macro コレクションとは」
「vba workbooksコレクションとは」
という検索キーワードを元にして、VBA(Visual Basic for Applications)の、コレクションオブジェクトについて、
- 同じ種類のオブジェクトをまとめたものがコレクション
- コレクション名は単一オブジェクトの名前の複数形になっていることが多い
- コレクションは単一オブジェクトとは違うプロパティ・メソッドを持っていることが多い
ということを「VBAのコレクションとは」という記事にまとめています。
「コレクションは単一オブジェクトとは違うプロパティ・メソッドを持っていることが多い」
という件について、補足があります。コレクションオブジェクトが、必ず持っているプロパティやメソッドがあるのです。
コレクションは、Countプロパティと、ItemプロパティまたはItemメソッドを必ず持っています。
コレクションオブジェクトは必ずCountプロパティを持つ
同じ種類のまとまりであるコレクションには、同種のオブジェクトがコレクションの中にいくつ含まれているのかを返すCountプロパティが必ず用意されています。
Workbooksコレクションは、単一オブジェクトであるWorkbookオブジェクトをいくつ持っているかを返すCountプロパティを持っています。
WorkSheetsコレクションは単一オブジェクトであるWorkSheetオブジェクトをいくつ持っているかを返すCountプロパティを持っています。
Shapesコレクションは単一オブジェクトであるShapeオブジェクトをいくつ持っているかを返すCountプロパティを持っています。
これまでコレクションのCountプロパティについて意識したことがなかったという方は、是非ご自分の手を動かしてオブジェクトブラウザーやヘルプで確認してみてください。
コレクションオブジェクトは必ずItemプロパティまたはItemメソッドを持つ
もう一つはItemです。
同じ種類のまとまりであるコレクションから、単一オブジェクトを取得するためのItemプロパティまたはItemメソッドが、コレクションオブジェクトには必ず用意されています。
Workbooksコレクションは単一オブジェクトであるWorkbookオブジェクトを返すItemプロパティを持っています。
WorkSheetsコレクションは単一オブジェクトであるWorkSheetオブジェクトを返すItemプロパティを持っています。
Shapesコレクションは単一オブジェクトであるShapeオブジェクトを返すItemメソッドを持っています。
先のCountは、必ずプロパティでしたが、Itemはプロパティの場合とメソッドの場合があります。
ExcelやAccessのVBAの場合、Itemはプロパティとして作られていることが以前は多かったのですが、どこかの時点でMicrosoftは設計方針を変更して、最近はItemをメソッドとして作るように変わっているようです。Excel VBAより歴史の浅いPowerPoint VBAの場合、Itemはほとんどメソッドとして作られていてExcel VBAでも比較的新しいコレクションの場合Itemはメソッドになっています。
Itemについてもこれまで意識したことがなかったという方は、ご自分の手を動かしてオブジェクトブラウザーやヘルプで確認してみてください。
Home » エクセルマクロ・Excel VBAの使い方 » VBAのコレクションはItemとCountを必ず持つ