经常写vba代码就一定需要用到Dictionary字典对象。
字典对象可以用来存储数据对,每对数据由数据内容和数据的键值组成,每个数据内容有唯一的一个键值与之匹配。
当遇到重复的键值时,将会报错。
所有的数据键值和所有的数据内容都存储在相应的数组中。
由于它只能存储唯一的键值的特性,经常利用字典对象来处理涉及到重复值的问题。
同时由于它内在的特殊性,字典对象读取数据的速度特别快。
它主要有以下方法和属性:
- Add方法:添加键值和项目对,如果键值已经存在,继续添加会报错。
object.Add (key, item)
2.Exists方法:判断键值是否存在。
object.Exists(key)
3.Remove方法:删除指定的键值、项目对
object.Remove(key)
4.RemoveAll方法:删除字典中所有的键值、项目对
object.RemoveAll( )
5.Keys方法:返回所有的键值数组;Items方法:返回所有的项目数组。
object.Keys( ) object.Items( )
6.Count属性:返回字典中含有的键值、项目对。
7.Item属性:返回或者设置指定键值对应的项目。
object.Item(key)[ = newitem]
8.Key属性:设置指定的键值为其它键值,如果指定的键值不存在,则新增一个键值,同时项目对为空。
object.Key(key) = newkey
9.CompareMode属性:设置用于对比键值是否重复的模式,可以是文本、二进制、数据库或者是指定的LCID比较模式。
object.CompareMode[ = compare]
以下是一个通用的在vba中使用Dictionary字典对象的代码:
Sub QQ1722187970() '定义字典对象变量 Dim oDic As Object '创建字典对象 Set oDic = CreateObject("Scripting.Dictionary") Dim arrKey Dim arrItem With oDic '添加键和项目(key,item),其中键不能重复 .Add 1, "a" .Add 2, "b" ' 判断是否存在某个键 If .exists(2) Then Else End If '把键2的项目修改为"d" .Item(2) = "d" '返回键的数组 arrKey = .keys '返回项目的数组 arrItem = .items '删除某个键值 .Remove (1) '清空字典 .RemoveAll End With '释放字典对象,清空内存 Set oDic = Nothing End Sub
如果想要详细的了解字典对象的属性、方法、以及它的帮助文档,可以访问Dictionary字典对象。
发表评论