Dictionary对象是保存键值和项目对的对象。键值用于检索项目,可以是数字或字符串,但不能是数组;项目可以是任意类型的数据。Dictionary对象的定义及用法如下:
Dim dic
Set dic = CreateObject("Scripting.Dictionary")
dic.Add "key1","value1" '添加键值和项目
dic.Add "name","John"
dic.Add "sex","male"
Dictionary对象包含如下方法和属性。
Items方法:返回包含项目的数组。
Dim dic
Set dic = CreateObject("Scripting.Dictionary")
dic.Add "key1","value1" '添加键值和项目
dic.Add "name","John"
dic.Add "sex","male"
Dim items
items = dic.Items '返回包含项目的数组,数组元素为 value1,John,male
For i=0 To dic.Count-1
MsgBox items(i)
Next
Keys方法:返回包含键值的数组
Dim dic
Set dic = CreateObject("Scripting.Dictionary")
dic.Add "key1","value1" '添加键值和项目
dic.Add "name","John"
dic.Add "sex","male"
Dim keys
keys = dic.Keys '返回包含项目的数组,数组元素为 key1,name,sex
For i=0 To dic.Count-1
MsgBox keys(i)
Next
Exists方法:
判断Dictionary对象总是否存在指定的键值,如果存在,返回True,否则返回False。如:
Dim dic
Set dic = CreateObject("Scripting.Dictionary")
dic.Add "key1","value1" '添加键值和项目
dic.Add "name","John"
dic.Add "sex","male"
Dim keys
If dic.Exists("name") Then '判断Dictionary对象中是否存在键值"name"
MsgBox dic.Item("name")
End If
Remove方法:从Dictionary对象中删除指定键的项目。
Dim dic
Set dic = CreateObject("Scripting.Dictionary")
dic.Add "key1","value1" '添加键值和项目
dic.Add "name","John"
dic.Add "sex","male"
dic.Remove("name")
If Not dic.Exists("name") Then '判断Dictionary对象中是否存在键值"name"
MsgBox ("没有名称为name的键值项")
End If
RemoveAll方法:从Dictionary对象中删除所有的键值和项目。
Dim dic
Set dic = CreateObject("Scripting.Dictionary")
dic.Add "key1","value1" '添加键值和项目
dic.Add "name","John"
dic.Add "sex","male"
MsgBox dic.Count '显示3
dic.RemoveAll
MsgBox dic.Count '显示0