プロパティには2種類ある。
よく知られているのは「値設定/読み込み両方可能」と「読み込みのみ可能」の区分だ。
この区分けの他に、「規定のプロパティ」と「追加するプロパティ」とがある。あまり使っている人はいないかもしれないが・・。
先日、引き取ったAccessのテーブル定義が欲しかったので
・テーブル一覧 (テーブル名、リンクテーブルかどうか、詳細説明)
・テーブル定義 (項目No、項目名、型、サイズ、キー項目、インデックス有無、詳細説明)
をExcelに生成するツールを作った。
このとき調べて分かったのだが、キー項目などは規定のプロパティではなく追加されたプロパティに入っている。
規定のプロパティなら、オブジェクト.プロパティで取得できるが、追加されたプロパティは「存在するか否か」を確認した上で取得しないといけない(On Error で逃げる手もあるが・・)。
この情報がどこにあるのか分からない、というときは「規定のプロパティ」ではないところに隠れている可能性はある。