DictionaryにAddしていないのに、Itemが追加される
最近、VBA開発でハマったケースです。
VBAでDictionaryを使用した際、Addしていないのにitemが追加されている挙動が出ました。
VBAでDictionaryを使用した際、Addしていないのにitemが追加されている挙動が出ました。
存在しないキーに対して値を取得しようとしたことが原因
Dictionaryは存在しないKeyに対して値(Item)を取得しようとすると、Keyを作成する仕様があります
(バグではなく仕様です)
DictionaryにAddしていないのに、Itemが追加のサンプルコード
'参照設定 Microsoft Scripting Runtime Public Sub sample() Dim dic As Dictionary Set dic = New Dictionary '■isEmptyで確認すると要素が存在しないと、勝手にAddされてしまう。 If IsEmpty(dic("aaa")) Then Debug.Print "要素が存在しません" Else Debug.Print "要素が存在します" End If '■Existsで存在確認して回避する If dic.Exists("bbb") = False Then Debug.Print "要素が存在しません" Else Debug.Print "要素が存在します" End If End Sub
コメント