VBA 中Dictionary 对象使用小结 Dim dict ' 创建Dictionary Set dict = CreateObject("Scripting.Dictionary") ' 增加项目 dict.Add "A", 300 dict.Add "B", 400 dict.Add "C", 500 ' 统计项目数 n = dict.Count ' 删除项目 dict.Remove ("A") ' 判断字典中是否包含关键字 dict.exists ("B") ' 取关键字对应的值,注意在使用前需要判断是否存在key,否则dict 中会多出一条记录 Value = dict.Item("B") ' 修改关键字对应的值,如不存在则创建新的项目 dict.Item("B") = 1000 dict.Item("D") = 800 ' 对字典进行循环 k = dict.keys v = dict.Items For i = 0 To dict.Count - 1 key = k(i) Value = v(i) MsgBox key & Value Next ' 删除所有项目 dict.Removeall 实例: Sub 宏1() Set dic = CreateObject("Scripting.Dictionary") '字典 For i = 1 To 10000 If Not i Like "*4*" Then dic.Add i, "" '如果不包含“1” End If Next Range("a2").Resize(dic.Count, 1) = Application.WorksheetFunction.Transpose(dic.keys) '从A2单元开始向下放置 End Sub VB 中的Dictionary 对象 核心归纳: 1、更换键名,用obj.key("xx")="newxx" 2、更换键值或访问指定键:1、重设键值:obj.item("xx")="newxx",2、取得键值:response.write obj.item("xx")=" ,如果obj.item("xx")="newxx" 中的KEY 键“xx”未设定时,会在对象的后面增加一个键值对。 3、获得条目数:obj.count (从 1 开始) 4、增加键值对:obj.add key,value 5、移除键:obj.remove("key") , obj.removeall() 6、判定键是否存在:obj.Exists("key") 7、遍历:先把键和值各自赋给一个变量,构成一维数组,再用FOR 遍历 a=d.keys b=d.Items 'For x=0 to d.count-1 '或 从上到下遍历, For x=d.Count-1 To 0 Step -1 '从下到上遍历 wan : abc zuo : 10254 Response.write a(x) Response.write " : " Response.write b(x) Response.write "
" Next 8、用obj..CompareMode = 0(二进制,默认,大小写敏感)或obj.CompareMode = 1(文本,大小写不区分,但不会后面的覆盖前面)来指定比较模式, ================================================================= 简单的理解:Scripting.Dictionary 对象相...