VBA|Dictionary|dict.Exists|指定したキーが存在するか判定する
■ 基本構文
dict.Exists(key)key:存在確認したいキー
戻り値
True :キーが Dictionary に存在する
False:キーが存在しない
■ サンプルコード
Dictionary にキーが存在するか確認してから処理を分岐する
役割:未登録キーへのアクセスによるエラーを防止する
理由:dict.Add は既存キーに対して実行するとエラーになるため
注意:Exists 判定と Add / 更新は必ずセットで考える
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
Dim key As String
key = "ProcessA|1|ERROR"
If dict.Exists(key) Then
既にキーが存在する場合の処理
dict(key) = dict(key) + 1
Else
初めて出現したキーの場合の処理
dict.Add key, 1
End If出力結果
キーが未登録の場合:Add により新規登録される
キーが登録済みの場合:既存の値が更新される
■ 備考
dict.Exists は 安全な Dictionary 操作の基本
特に以下の場面では必須になる
dict.Add を使う場合
値を 数値以外(配列・オブジェクト) で持たせる場合
件数カウント専用であれば
dict(key) = dict(key) + 1 の省略形で代替可能
可読性・保守性を重視する場合は
Exists + Add / 更新 の明示的な書き方が有効
いいなと思ったら応援しよう!
技術メモや学習の整理として書いています。
もし内容が役に立ったり、続きを読みたいと思っていただけたら、
応援として受け取らせてもらえたら嬉しいです。