学习Excel技术,关注微信公众号:
excelperfect
在前面的一系列文章中,我们详细讲解了集合、数组和ArrayList,我们通常可以使用它们来存储成组的数据,方便后面的操作。接下来的几篇文章,我们将详细讲解字典。
在VBA中,字典可以存储不同的数据类型,并且每个元素都有唯一的键,可以方便地访问字典元素,其包含的属性和方法,能够更方便地操作数据。
创建字典对象
在标准VBA库中不包含Dictionary对象,因此要创建并使用Dictionary对象,先要连接到Dictionary对象所在的库文件Microsoft Scripting Runtime,有两种连接方式。
早期绑定
在VBE中,单击菜单“工具——引用”,在“引用”对话框中,找到并选取“Microsoft Scripting Runtime”前的复选框,单击“确定”,如下图1所示。
图1
设置完毕后,可以编写声明字典对象变量的代码如下:
Dim dict As New Dictionary
或者:
Dim dict As Dictionary
Set dict = New Dictionary
后期绑定
当然,也可以事先不设置对“Microsoft Scripting Runtime”库的引用,而是使用CreateObject函数直接编写声明字典对象变量的代码:
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
字典对象的基本操作概览
声明字典对象变量后,我们来简要看看对字典对象的一些基本操作。
添加字典元素
使用Add方法来添加字典元素:
dict.Add键, 值
注意,字典中应不存在要添加的值的键。
修改字典元素值
dict(键) = 值
将指定键的元素值修改为指定值。
注意,如果指定的键不存在,则自动添加。
获取字典元素值
值 = dict(键)
判断键是否存在
dict.Exists(键)
如果指定键存在,返回True,否则返回False。
删除元素项
dict.Remove键
删除指定键所在的元素项。
删除所有元素项
dict.RemoveAll
遍历所有元素项
Dim key As Variant
For Each key In dict.Keys
Debug.Print key, dict(key)
Next key
或:
Dim i As Long
For i = 0 To dict.Count – 1
Debug.Print dict.Keys(i), dict.Items(i)
Next i
获取字典元素项数量
dict.Count
下面的文章,我们将以示例代码的形式来详细讲解Dictionary对象的基本操作。