- 字典是VBA中一个十分有用的对象。
- VBA中的字典和现实中的【新华字典】、【成语字典】功能一样,都是用来储存信息,并利用检索查询信息的强大工具。
字典的声明和创建
- 1、字典的声明分为两种,一种是前期绑定,一种是后期绑定。不用管太多,记住后期绑定的写法。
- 2、字典既然是对象,那么就用set语句来设定。下面是设置一个字典的写法,要使用字典,必先创建一个字典。
Dim d As Object '声明对象
Set d = CreateObject("scripting.dictionary") '创建字典,d是字典的名称
- 3、运行代码后,VBA就创建了一个我们看不到的字典。
- 4、假如我们想要知道天道酬勤是什么意思?在【成语字典】中检索{天道酬勤},就知道其意思是{上天会按照每个人付出的勤奋,给予相应的酬劳。多一分耕耘,多一分收获。};VBA字典做的也是这样检索查找的动作过程,这个过程就是VBA中字典的功能过程。【成语字典】是编出来的,同样,VBA字典也可以由你编出来。
ADD方法:编写字典,向字典中新建条目数据。
下面就由我们来编写VBA字典,其步骤如下:
- 5.1、创建字典(空白的)
- 5.2、编写字典,使{天朝酬勤}的意思是{上天会按照每个人付出的勤奋,给予相应的酬劳。多一分耕耘,多一分收获。}.......
Sub zd()
Dim d As Object
Set d = CreateObject("scripting.dictionary")'创建字典d
'编写字典,增加条目数据
d.Add "天朝酬勤", "上天会按照每个人付出的勤奋,给予相应的酬劳。多一分耕耘,多一分收获。"
d.Add "天王盖地虎", "宝塔镇河妖"
'查阅字典
s = d("天朝酬勤")
s1 = d("天王盖地虎")
End Sub
- 至此,字典编写完毕,总共有2个条目,一个是"天朝酬勤",一个是"天王盖地虎";当我们检索"天道酬勤"时只需要这样--d("天朝酬勤"),这样就能够得出"天朝酬勤"这成语是什么意思了(图片箭头)。
- 这里 "天道酬勤" 是字典d的key(关键字)
- "会按照每..." 是字典d中的(key--"天道酬勤")的 item(项目)
- 当我们 d(key)就得出其item,key是用于检索查找的。item是看不到的,但却是存在的。
- 一条完整的字典条目,必须有key和item。
好吧,然后我们忘了ADD这个方法吧!
- 将上面的代码换成我们熟悉的“=”,直观简单。等号左边的是key,右边的是item。上下两个代码效果一样。
Sub zd()
Dim d As Object
Set d = CreateObject("scripting.dictionary")
d("天朝酬勤") = "上天会按照每个人付出的勤奋,给予相应的酬劳。多一分耕耘,多一分收获。"
d("天王盖地虎") = "宝塔镇河妖"
s = d("天朝酬勤")
s1 = d("天王盖地虎")
End Sub
- 这里介绍了字典中一个条目的组成:key和item;以及创建一个条目的方法‘=’。一个条目有key和item组成,字典由N个条目组成(集合)。