|
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("キー") ※ 指定したキーが存在しない場合は、エラーが発生します。 |