分享

Excel 常见字典用法集锦及代码详解2

 你喜欢那个 2012-02-23

Remove方法

Remove 方法从一个 Dictionary 对象中清除一个关键字,项目对。

object.Remove(key )

其中 object 总是一个 Dictionary 对象的名称。

key

必选项。key 与要从 Dictionary 对象中删除的关键字,项目对相关联。

说明

如果所指定的关键字,项目对不存在,那么将导致一个错误。

 

常用语句:

Dim d  

   Set d = CreateObject("Scripting.Dictionary")

   d.Add "a", "Athens"  

   d.Add "b", "Belgrade"

   d.Add "c", "Cairo"

   ……

   d.Remove(“b”)

代码详解

1d.Remove(“b”):清除字典中”b”关键字和与它对应的项。清除之后,现在字典里只有2个关键字了。

 

RemoveAll方法

RemoveAll 方法从一个 Dictionary 对象中清除所有的关键字,项目对。

object.RemoveAll( )

其中 object 总是一个 Dictionary 对象的名称。

常用语句:

Dim d  

   Set d = CreateObject("Scripting.Dictionary")

   d.Add "a", "Athens"  

   d.Add "b", "Belgrade"

   d.Add "c", "Cairo"

   ……

   d.RemoveAll

代码详解

1d.RemoveAll:清除字典中所有的数据。也就是清空这字典,然后可以添加新的关键字和项,形成一本新字典。

 

字典对象的属性有4个:Count属性、Key属性、Item属性、CompareMode属性。

Count属性

返回一个Dictionary 对象中的项目数。只读属性。

     object.Count

其中 object一个字典对象的名称。

常用语句:

Dim d,n%  

   Set d = CreateObject("Scripting.Dictionary")

   d.Add "a", "Athens"  

   d.Add "b", "Belgrade"

   d.Add "c", "Cairo"

   n = d.Count

代码详解

1Dim d, n% :声明变量,d见前例;n被声明为整型数据类型(Integer)。一般写法为Dim n As Integer Integer 类型声明字符为百分比号 (%)

2n = d.Count  :把字典中所有的关键字的数量赋给变量n。本例得到的是3

 

 

Key属性

Dictionary 对象中设置一个 key

object.Key(key) = newkey

参数:

object

必选项。总是一个字典 (Dictionary) 对象的名称。

key

必选项。被改变的 key 值。

newkey

必选项。替换所指定的 key 的新值。

说明

如果在改变一个 key 时没有发现该 key,那么将创建一个新的 key 并且其相关联的 item 被设置为空。

常用语句:

Dim d  

   Set d = CreateObject("Scripting.Dictionary")

   d.Add "a", "Athens"  

   d.Add "b", "Belgrade"

   d.Add "c", "Cairo"

   d.Key("c") = "d"

代码详解

1d.Key("c") = "d" :用新的关键字”d”来替换指定的关键字”c”,这时,字典中就没有关键字c了,只有关键字d了,与d对应的项是”Cairo”

 

Item属性

在一个 Dictionary 对象中设置或者返回所指定 key item。对于集合则根据所指定的 key 返回一个 item。读/写。

object.Item(key)[ = newitem]

参数

object

必选项。总是一个Dictionary 对象的名称。

key

必选项。与要被查找或添加的 item 相关联的 key

newitem

可选项。仅适用于 Dictionary 对象;newitem 就是与所指定的 key 相关联的新值。

说明

如果在改变一个 key 的时候没有找到该 item,那么将利用所指定的 newitem 创建一个新的 key。如果在试图返回一个已有项目的时候没有找到 key,那么将创建一个新的 key 且其相关的项目被设置为空。

常用语句:

Dim d  

   Set d = CreateObject("Scripting.Dictionary")

   d.Add "a", "Athens"  

   d.Add "b", "Belgrade"

   d.Add "c", "Cairo"

   MsgBox  d.Item("c")

代码详解

1d.Item("c") :获取指定的关键字”c”对应的项。

2MsgBox   :是一个VBA函数,用消息框显示。如果要详细了解MsgBox函数的,可参见我的另一篇文章“常用VBA函数精选合集”。http://club./thread-387253-1-1.html

 

CompareMode属性

设置或者返回在 Dictionary 对象中进行字符串关键字比较时所使用的比较模式。

object.CompareMode[ = compare]

参数

object

必选项。总是一个 Dictionary 对象的名称。

compare

可选项。如果提供了此项,compare 就是一个代表比较模式的值。可以使用的值是 0 (二进制)1 (文本), 2 (数据库)

说明

如果试图改变一个已经包含有数据的 Dictionary 对象的比较模式,那么将导致一个错误。

常用语句:

Dim d  

   Set d = CreateObject("Scripting.Dictionary")

   d.CompareMode = vbTextCompare

   d.Add "a", "Athens"  

   d.Add "b", "Belgrade"

   d.Add "c", "Cairo"

   d.Add " B ", " Baltimore"

代码详解

1d.CompareMode = vbTextCompare  :设置字典的比较模式是文本,在这种比较模式下不区分关键字的大小写,即关键字”b””B”是一样的。vbTextCompare的值为1,所以上式也可写为 d.CompareMode =1 。如果设置为vbBinaryCompare(值为0),则执行二进制比较,即区分关键字的大小写,此种情况下关键字”b””B”被认为是不一样的。

2d.Add " B ", " Baltimore" :添加一关键字”B”和对应于它的项”Baltimore”。由于前面已经设置了比较模式为文本模式,不区分关键字的大小写,即关键字”b””B”是一样的,此时发生错误添加失败,因为字典中已经存在”b”了,字典中的关键字是唯一的,不能添加重复的关键字。

 


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多