CollectionのKeyの存在をチェックするには?

解決


VBG  2008-07-22 15:49:45  No: 100909  IP: 192.*.*.*

お世話になります。

Collectionについて質問です。
あるKeyが指定されたItemを保持しているかどうかを確認する方法はあるのでしょうか?

例えば、以下では"aaaa"と言うKeyを持つItemを取得しようとしています。

  Set objItem = objCollection.Item("aaaa")

この時に、aaaaを持つKeyが無いとエラーを起こしてしまいます。
なにか事前に判断する方法はあるのでしょうか?
それとも、エラーの有無で判断するしかないのでしょうか?

ご存知の方がおりましたら、教えて下さい。

編集 削除
魔界の仮面弁士  2008-07-22 18:57:16  No: 100910  IP: 192.*.*.*

VBA.Collection 型では無理です。エラートラップしか無いですね。

キーの存在チェックやキーの一覧が欲しい場合は、こんな感じで。

(案1) Collection の代わりに、Scripting.Dictionary 型を利用する。
(案2) Collection を 2 つ用意し、データ登録用とキー登録用とペアにして運用する。

編集 削除
VBG  2008-07-24 14:45:46  No: 100911  IP: 192.*.*.*

不可能なんですね。
それがわかっただけで大収穫です。

ありがとうございました。

編集 削除