カテゴリー
Microsoft

【Excel VBA】辞書オブジェクト、Scripting.Dictionary、ディクショナリ使用時の注意点!

Excel 2013 VBA でのディクショナリ注意点!!

  • ディクショナリのキー: 整数または文字列の使用が一般的だが、配列以外の任意の形式をとれる。
  • ディクショナリの値: クラスをはじめ、なんでも入る、はず。
  • イミディエイト ウィンドウにディクショナリオブジェクトをウォッチ表示したとき、確認できるのはキーのみ。
  • イミディエイト ウィンドウでディクショナリのアイテムを一覧表示したいときは、ウォッチ式として dictionary.items を追加すること。
  • ループでディクショナリのアイテムを取り出すには、dictionary.items を回す こと。dictionary を回そうとすると次のエラーとなった。
    [実行時エラー ‘424’: オブジェクトが必要です。]
  • 同様に、ループでディクショナリのキーを取り出すには dictionary.keys を回せばよい、はず(未確認)。
  • Add 関数の使い方。※1 の場合はキーが重複していてもエラーとならない。上書きする。
    • dictionary.Add "key", "item"
    • dictionary.Add key:="key, Item:="item"
    • Call dictionary.Add("key", "item")
    • Call dictionary.Add(key:="key", Item:="item")
    • dictionary("key") = "item" ※1
    • Set dictionary("key") = itemObject ※1

おわりに

ディクショナリにキーとアイテムを追加したものの、イミディエイト ウィンドウでアイテムを確認できず、おかしいおかしいと悩んでおりました><。

同様に、ディクショナリのアイテムをループして処理しようとしたときに、ディクショナリオブジェクトそのものを回そうとしてエラーとなり、おかしいおかしいと悩んでおりました><。

使い方が未熟なだけでしたの!

最後に、参考ページです。ありがとう存じます♪

以上です。

コメントを残す