VB 配列操作 |
Scripting.Dictionary オブジェクト DictionaryオブジェクトはハッシュテーブルのようにKeyに対するItemを持つことができるオブジェクトです。 |
[参照設定] Microsoft Scripting Runtime (scrrun.dll) [変数宣言] Dim dc As New Scripting.Dictionary |
|
【サンプルリスト】Private Sub Sample() Dim dc As New Scripting.Dictionary Dim i dc.Add "KEY1", "ITEMx" 'キーと項目を追加します。 dc.Add "KEY2", "ITEM2" 'キーと項目を追加します。 dc.Add "KEY3", "ITEM3" 'キーと項目を追加します。 dc.Add "KEY4", "ITEM4" 'キーと項目を追加します。 If (dc.Exists("KEY1")) Then 'キー"KEY1"が存在した dc.Item("KEY1") = "ITEM1" 'キー"KEY1"の項目を"ITEM1"へ変更します。 Else 'キー"KEY1"が存在しない dc.Add "KEY1", "ITEM1" 'キーと項目を追加します。 End If If (dc.Exists("KEY2")) Then 'キー"KEY2"が存在した dc.Remove ("KEY2") 'キー"KEY2"を削除します。 End If For i = 0 To dc.Count - 1 '格納されている項目の数だけループします。 Debug.Print dc.Keys(i) & "=" & dc.Item(dc.Keys(i)) Next End Sub
|
●Addメソッド [MSDN] 【機能】Dictionaryオブジェクトにキーおよび項目を追加します。 【書式】dc.Add キー , 項目 【 例 】dc.Add "キー" , "項目" ※ キーが既に存在している場合は エラーが発生します。 |
●CompareMode
プロパティ [MSDN] 【機能】比較モードを設定します。値の取得も可能です。 【書式】dc.CompareMode = 比較モード
【 例 】dc.CompareMode = vbTextCompare ※ キーをセットした後で比較モードを設定するとエラーが発生します。 |
●Count プロパティ [MSDN] 【機能】格納されている項目の数を返します。 【書式】dc.Count 【 例 】 For i = 0 To dc.Count - 1 Debug.Print dc.Keys(i) & " " & dc.Item(dc.Keys(i)) Next |
●Exists メソッド [MSDN] 【機能】指定のキーが存在するかチェックします。 【書式】result = dc.Exists ( キー ) 【戻り値】
【 例 】 If (dc.Exists(varKey)) Then dc.Item(varKey) = varItem Else dc.Add varKey , varItem End If |
●Item プロパティ [MSDN] 【機能】指定したキーの項目を変更します。値の取得も可能です。 【書式】dc.Item(キー) = 項目 【 例 】dc.Item("キー") = "項目" ※ 変更時に指定したキーが存在しない場合は、キーが作成されて、項目がセットされます。 ※ 参照時に指定したキーが存在しない場合も、キーが作成されて、項目に空がセットされます。 |
●Items メソッド [MSDN] 【機能】項目の配列を返します。 【書式】dc.Items 【 例 】 For i = 0 To dc.Count - 1 Debug.Print dc.Items(i) Next |
●Key プロパティ [MSDN] 【機能】キーを変更します。 【書式】dc.Key(キー) = 新キー 【 例 】dc.Key("キー") = "新キー" ※ 指定したキーが存在しない場合は、エラーが発生します。 |
●Keys メソッド [MSDN] 【機能】キーの配列を返します。 【書式】dc.Keys 【 例 】 For i = 0 To dc.Count - 1 Debug.Print dc.Keys(i) Next |
●Remove
メソッド [MSDN] 【機能】キーを削除します。 【書式】dc.Remove(キー) 【 例 】dc.Remove("キー") ※ 指定したキーが存在しない場合は、エラーが発生します。 |