版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、vba字典的属性与方法vba字典的属性与方法 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(vba字典的属性与方法)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为vba字典的属性与方法的全部内容。15前言2一、字典对象的方法3(一)add方法3(二)exists方法4(三)keys方法4(四)items方法5(五)rem
2、ove方法6(六)removeall方法6二、字典对象的属性7(一)count属性7(二)key属性7(三)item属性8(四)comparemode属性9前言凡是上过学校的人都使用过字典,从新华字典、成语词典,到英汉字典以及各种各样数不胜数的专业字典,字典是上学必备的、经常查阅的工具书。有了它们,我们可以很方便的通过查找某个关键字,进而查到这个关键字的种种解释,非常快捷实用.凡是上过eh论坛的想学习vba里面字典用法的,几乎都看过研究过northwolves狼版主、oobird版主的有关字典的精华贴和经典代码。我也是从这里接触到和学习到字典的,在此,对他们表示深深的谢意,同时也对很多把字典用
3、得出神入化的高手们致敬,从他们那里我们也学到了很多,也得到了提高。字典对象只有4个属性和6个方法,相对其它的对象要简洁得多,而且容易理解使用方便,功能强大,运行速度非常快,效率极高。深受大家的喜爱.本文希望通过对一些字典应用的典型实例的代码的详细解释来给初次接触字典和想要进一步了解字典用法的朋友提供一点备查的参考资料,希望大家能喜欢.给代码注释估计是大家都怕做的,因为往往是出力不讨好的,稍不留神或者自己确实理解得不对,还会贻误他人.所以下面的这些注释如果有不对或者不妥当的地方,请大家跟帖时指正批评,及时改正。字典的简介字典(dictionary)对象是微软windows脚本语言中的一个很有用的
4、对象。附带提一下,有名的正则表达式(regexp)对象和能方便处理驱动器、文件夹和文件的(filesystemobject )对象也是微软windows脚本语言中的一份子。字典对象相当于一种联合数组,它是由具有唯一性的关键字(key)和它的项(item)联合组成。就好像一本字典书一样,是由很多生字和对它们对应的注解所组成。比如字典的“典”字的解释是这样的:“典”字就是具有唯一性的关键字,后面的解释就是它的项,和“典字联合组成一对数据.常用关键字英汉对照: dictionary字典 key关键字 item项,或者译为 条目一、 字典对象的方法字典对象的方法有6个:add方法、keys方法、ite
5、ms方法、exists方法、remove方法、removeall方法.(一) add方法向 dictionary 对象中添加一个关键字项目对。 object.add (key, item)参数 object :必选项.总是一个 dictionary 对象的名称。 key :必选项。与被添加的 item 相关联的 key。 item :必选项。与被添加的 key 相关联的 item。 说明 如果 key 已经存在,那么将导致一个错误。常用语句: dim d set d = createobject(”scripting。dictionary) d.add ”a”, ”athens” d.add
6、b”, belgrade” d。add c”, ”cairo”代码详解 1、dim d :创建变量,也称为声明变量。变量d声明为可变型数据类型(variant),d后面没有写数据类型,默认就是可变型数据类型(variant)。也有写成dim d as object的,声明为对象。 2、set d = createobject(scripting。dictionary”):创建字典对象,并把字典对象赋给变量d.这是最常用的一句代码.所谓的“后期绑定”.用了这句代码就不用先引用c:windowssystem32scrrun.dll了。 3、d。add a”, athens:添加一关键字”a”和对应
7、于它的项”athens”。 4、d。add b”, “belgrade:添加一关键字”b”和对应于它的项”belgrade”。 5、d.add c, “cairo:添加一关键字”c和对应于它的项”cairo”。 (二) exists方法如果 dictionary 对象中存在所指定的关键字则返回 true,否则返回 false. object.exists(key) 参数 object :必选项。总是一个 dictionary 对象的名称。 key :必选项.需要在 dictionary 对象中搜索的 key 值。常用语句: dim d, msg set d = createobject(scr
8、ipting.dictionary”) d。add ”a, ”athens” d。add b”, belgrade d。add c”, cairo” if d。exists(c”) then msg = 指定的关键字已经存在。” else msg = ”指定的关键字不存在。 end if 代码详解 1、dim d,msg$ :声明变量,d见前例;msg$ 声明为字符串数据类型(string),一般写法为dim msg as string。string 类型声明字符为美元号 ($)。 2、if d.exists(c) then:若字典中存在关键字c,那么执行下面的语句。 3、msg = 指定的关
9、键字已经存在。 :把指定的关键字已经存在.”字符串赋给变量msg. 4、else :否则执行下面的语句. 5、msg = ”指定的关键字不存在。” :把指定的关键字不存在。字符串赋给变量msg。 6、end if :结束if elseendif判断。(三) keys方法返回一个数组,其中包含了一个 dictionary 对象中的全部现有的关键字。 object.keys( ) 其中 object 总是一个 dictionary 对象的名称。常用语句: dim d, k set d = createobject(”scripting.dictionary) d。add ”a”, ”athens”
10、 d。add b, belgrade d。add c, ”cairo” k=d。keys b1.resize(d。count,1)=application。transpose(k) 代码详解 1、dim d, k :声明变量,d见前例;k默认是可变型数据类型(variant)。 2、k=d.keys:把字典中存在的所有的关键字赋给变量k.得到的是一个一维数组,下限为0,上限为d.count1.这是数组的默认形式。 3、b1。resize(d。count, 1)=application。transpose(k) :这句代码是很常用很经典的代码,所以这里要多说一些. resize是range对象的
11、一个属性,用于调整指定区域的大小,它有两个参数,第一个是行数,本例是d。count,指字典中关键字的数量,整本字典中有多少个关键字,本例d。count=3,因为有3个关键字。第二个是列数,本例是1. 这样“”左边的意思就是:把一个单元格b1调整为以b1开始的一列单元格区域,行数等于字典中关键字的数量d。count,就是把单元格b1调整为单元格区域b1:b3了。 “”右边的k是个一维数组,是水平排列的,我们知道excel工作表函数里面有个转置函数transpose,用它可以把水平排列的置换成竖向排列。但是在vba中不能直接使用该工作表函数,需要通过application对象的worksheetf
12、unction属性来使用它. 所以完整的写法是application。 worksheetfunction。transpose(k),中间的worksheetfunction可省略。现在可以解释这句代码了:把字典中所有的关键字赋给以b1单元格开始的单元格区域中.(四) items方法返回一个数组,其中包含了一个 dictionary 对象中的所有项目。 object。items( ) 其中 object 总是一个 dictionary 对象的名称。常用语句: dim d, t set d = createobject(”scripting.dictionary) d。add a”, athen
13、s” d.add b”, ”belgrade” d。add c, cairo t=d.items c1。resize(d.count,1)=application。transpose(t)代码详解 1、dim d, t :声明变量,d见前例;t默认是可变型数据类型(variant). 2、t=d.items :把字典中所有的关键字对应的项赋给变量t。得到的也是一个一维数组,下限为0,上限为d。count-1。这是数组的默认形式. 3、c1.resize(d。count,1)=application。transpose(t) :有了上面keys方法的解释这句代码就不用多说了,就是把字典中所有的关
14、键字对应的项赋给以c1单元格开始的单元格区域中。(五) 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
15、.add c, cairo” d.remove(“b”)代码详解 1、d。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
16、c, cairo d。removeall代码详解 1、d.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”, belg
17、rade” d。add c”, ”cairo” n = d。count 代码详解 1、dim d, n% :声明变量,d见前例;n被声明为整型数据类型(integer)。一般写法为dim n as integer 。 integer 类型声明字符为百分比号 (%)。 2、n = d。count:把字典中所有的关键字的数量赋给变量n。得到的是3。(二) key属性在 dictionary 对象中设置一个 key。 object。key(key) = newkey 参数: object :必选项。总是一个字典 (dictionary) 对象的名称. key :必选项。被改变的 key 值. new
18、key :必选项。替换所指定的 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” 代码详解 1、d。key(c”) = d :用新的关键字”d”来替换指定的关键字c”,这时,字典中就没有关键字c了,只有关键字d了,与d对应的项是”cairo. (三) item属性
19、在一个 dictionary 对象中设置或者返回所指定 key 的 item.对于集合则根据所指定的 key 返回一个 item。读/写。 object.item(key) = newitem 参数 object :必选项。总是一个dictionary 对象的名称。 key :必选项。与要被查找或添加的 item 相关联的 key。 newitem :可选项.仅适用于 dictionary 对象;newitem 就是与所指定的 key 相关联的新值. 说明 如果在改变一个 key 的时候没有找到该 item,那么将利用所指定的 newitem 创建一个新的 key。如果在试图返回一个已有项目的
20、时候没有找到 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) 代码详解 1、d。item(”c”) :获取指定的关键字”c”对应的项. 2、msgbox :是一个vba函数,用消息框显示。如果要详细了解msgbox函数的,可参见另一篇文章“常用vba函数精选合集”。 (四) comparemode属性设置或者返回在 dictionary 对象中进行字符串关键字比较时所使用的比较模式。 objec
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 达川地区渠县2025-2026学年第二学期二年级语文期中考试卷(部编版含答案)
- 襄樊市南漳县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 岳阳市君山区2025-2026学年第二学期五年级语文第四单元测试卷(部编版含答案)
- 咸阳市长武县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 宜春市奉新县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 惠州市惠东县2025-2026学年第二学期四年级语文第五单元测试卷(部编版含答案)
- 衡水市深州市2025-2026学年第二学期五年级语文第六单元测试卷(部编版含答案)
- 恩施土家族苗族自治州咸丰县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 深度解析(2026)《CBT 3596-2008船用辅锅炉膜式水冷壁》
- 深度解析(2026)《AQ 4110-2008烟花爆竹机械 结鞭机》
- 生物表面活性剂鼠李糖脂
- 井巷冒顶片帮必讲课
- 青岛版四年级下册科学第二单元 热的传递 教学设计
- HAUNI-KLD-2烘丝机设备结构
- GB/T 35451.2-2018埋地排水排污用聚丙烯(PP)结构壁管道系统第2部分:聚丙烯缠绕结构壁管材
- GB/T 29024.4-2017粒度分析单颗粒的光学测量方法第4部分:洁净间光散射尘埃粒子计数器
- 材料学 印模材料-口腔专业课课件-口腔材料
- 国内外湿地公园经典课件
- 第六章旅行社的职能管理课件
- MicrosoftAzure云安全应用场景教学课件
- 2022年广西桂林国民村镇银行招聘模拟试题3套(含答案解析)
评论
0/150
提交评论