小目标:学会VBA字典代码转换到VB.NET代码
在使用Excel880VSTO框架的前提下,直接复制VBA的字典代码到VB.NET中,字典初始化改为后期绑定即可直接运行,也就是说,VB.NET里也可以继续使用VBA的字典对象
注意VBA的前期引用会失效 全部改为后期绑定形式
也就是vba中的
dim dic as new dictionary
改为
dim dicset dic=CreateObject("scripting.dictionary")
当然本身已经是后期绑定这里不用动
vb.net字典的标准转换方法 大量数据下效率更高
当然也可以完全换成vb.net的字典不过这里有几个细节要注意
比如之前的dic.exists要换成dic.containskey()方法
还有之前的数组在vba字典中需要取出来写完数据再重新装入
在vb.net中可以直接操作 这里需要注意vb.net里的dic(key)装入的是源对象引用,而数组在vb.net里是引用 这里不太明白的同学可能容易出错 建议单纯只是写好的代码转vb.net的同学就按上面的方法继续使用vba字典
熟悉VB.NET字典的的基本用法
数组字典里更方便的检测某个元素是否存在
vb.net的字典不光能检测某个key是否存在,还能检测某个值知否存在dic.containskeydic.ContainsValue在vb.net一维数组里检测某个值存在也很简单arr.Contains(v)