見出し画像

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 / 更新 の明示的な書き方が有効


いいなと思ったら応援しよう!

Parusの寺小屋 技術メモや学習の整理として書いています。 もし内容が役に立ったり、続きを読みたいと思っていただけたら、 応援として受け取らせてもらえたら嬉しいです。