Excel VBA解读(158): 数据结构—认识字典对象

2019-08-20 16:53:21 浏览数 (1)

学习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对象的基本操作。

0 人点赞