本帖最后由 hwc2ycy 于 2014-3-13 11:16 编辑
一、认识字典 说到字典,大家立即就会想到新华字典,成语字典,英汉字典,不过我们要谈的字典是VBA里的字典对象。经常在论坛做题的童鞋对字典可能有一种固有的印象:字典是用来去重复的。我刚做题那会接触字典时也感觉是那么回事,等接触多了,才发现去重复不过是一个小的功能。 我们在查字典时,总是根据某个关键字查到与之相关的内容,譬如英汉字典,查找时是根据英文单词查找对应的汉语解释。 字典对象也是如此,字典对象相当于一种联合数组,它是由具有唯一性的关键字(Key)和它的项(Item,也有叫条目,个人习惯,你怎么顺口就怎么叫)联合组成。我们经常用的手机通讯录也有类似功能,姓名与电话对应。 当我们要从字典中检索某个Item时,就要知道与之相对应的关键字Key,这样就完成了一个数据检索功能,这与查找电话号码时输入名字进行查找是一样的。
二、如何创建字典 1.前期绑定 第一步 在VBA工程中添加引用 在VBE中,点击菜单 工具,引用,在列表中找到Microsoft Scripting Runtime,勾选后 确定 即可。
这里在列表中查找时有个技巧,按m后可以直接跳转到列表中以M开头的引用。
如果在列表中还是找不到的话,就点击左下角的开始,运行 输入regsvr32 scrrun.dll
然后回车。
注意上面的命令中32与s之间有个英文空格。
VISTA/WIN7/WIN8用户可能需要以管理员方式运行。
然后再重新打开EXCEL试试。
或者 在VBE 中,点工具,引用,在引用窗口中点击 浏览 ,输入scrrun.dll,打开,确定 即可。
上图中的打开对话框中默认路径是system32(XP),一般不需要改。
推荐用这种方法,来得更快,个人感觉在列表中找比较烦锁(当然前提是你得知道引用的DLL文件)。
第二步声明变量,创建对象实例。 dim d as dictionary set d=new dictionary
2.后期创建 直接声明变量,然后通过createobject创建。 dim dic as object setdic=createobject("scripting.dictionary")
前期引用与后期创建的区别 1.前期速度快(这个没太感觉出来) 2.前期引用的在代码编辑时有自动成员列表,方便使用。 3.前期引用的Keys和Items方法返回的数组可直接引用,不需要中间变量。
2,3点是很明显的,特别是第2点,妈妈再也不用担心我记不住字典了。
|