VBA 部品 Dictionary作成 - ray88’s diary
■プロパティ
プロパティ | 説明 |
---|---|
Count | 連想配列に格納された要素の数 |
Item(key) | キーに関連付けれられたアイテム |
Key(Key) | キー |
CompareMode | キーを区別する際に大文字小文字を区別するかを指定する |
※CompareModeの設定値
設定値 | 意味 |
---|---|
vbBinaryCompare(0) | 大文字と小文字を区別(規定値) |
vbTextCompare(1) | 大文字と小文字を区別せず |
※Dictionaryオブジェクトはキーを重複させることはできないが、CompareModeプロパティを使ってキーの大文字と小文字を区別するかどうか設定することができる。
■メソッド
メソッド | 説明 |
---|---|
Add Key,Item | キーにアイテムを関連付けて追加 |
Exists(key) | 指定したキーが存在すればTrueを返す |
Items | 連想配列のアイテムを配列にして返す。配列インデックス番号は0から |
Keys | 連想配列のキーを配列にして返す。配列インデックス番号は0から |
Remove Key | キーとアイテムのペアを削除 |
Remove All | 全てのキーとアイテムを削除 |
■宣言方法
Dim 連想配列名 As Object Set 連想配列名 = CreateObject(“Scripting.Dictionary”)
■サンプルコード
Option Explicit Sub testDictionary() '------------------------------------------------------------ 'Dictionaryオブジェクトの宣言 Dim myDic As Object Set myDic = CreateObject("Scripting.Dictionary") '------------------------------------------------------------ 'Dictionaryオブジェクトの初期化、要素の追加 myDic.Add "プランA", 1000 myDic.Add "プランB", 2000 myDic.Add "プランC", 3000 '------------------------------------------------------------ Dim str As String, i As Integer 'バリアント型配列を宣言 Dim Keys() As Variant 'バリアント型配列にディクショナリのキーを格納 Keys = myDic.Keys '------------------------------------------------------------ 'Dictionaryオブジェクトの要素の参照 For i = 0 To 2 str = str & Keys(i) & " : " & myDic.Item(Keys(i)) & "円" & vbCrLf Next i MsgBox str, vbInformation End Sub
実行結果