vba中熟练使用字典可以帮我们解决很多问题,以下为字典的应用方法及案例:
Sub dictionary()
Dim d As New dictionary ''定义字典
Dim mykey As Variant
Dim myitems
d.Add "1100000", "身份证" ''字典录入key关键字和item条目
d.Add "2001110", "学生证号"
d.Add "bj002003", "饭卡号"For i = 0 To d.Count - 1d.Add "a" & i, "号码" & i ''字典加入关键字和条目
Next
mykey = d.Keys
myitems = d.Items
For i = 0 To d.Count - 1MsgBox mykey(i) ''关键字逐个输出MsgBox myitems(i) ''条目逐个输出
Next
End Sub
下图为立即窗口显示字典的条目和关键字信息。由此可见: keys和items都是数组的形式,字典的item是单个形式非数组。
关于字典的前期绑定和后期绑定:(本博更倾向后期绑定,因为写好的程序换电脑运行或发给别人运行时不需要再到工具栏引用选项选字典库了,省事方便)
前期绑定
- 添加引用:在VBE界面【工具-引用】中勾选【Microsoft Scripting Runtime】,之后在对象浏览器中就可以看到该对象。然后写代码:Dim a As New Scripting.Dictionary
优点
- 使用对象时会有方法、属性、枚举和事件列表。
- 运行速度会比使用后期绑定方法快。
Microsoft Scripting Runtime库
前期
- Dim a As New Scripting.Dictionary
- Dim b As New Scripting.Encoder
- Dim c As New Scripting.FileSystemObject
后期
- Set dic = CreateObject("scripting.dictionary")
- set fso = CreateObject("Scripting.FileSystemObject")