【发布时间】:2020-06-28 18:21:09
【问题描述】:
我在 Outlook 中编写的长宏的最后阶段是将电子邮件发送给适当的人,具体取决于宏发现的所有内容。我在使用 excel 表和“键”值的 vlookup 之前已经完成了这项工作 - 但在这种情况下,键值对将是静态的,因此 excel 感觉有点矫枉过正,并且会减慢速度。
键和值都是字符串,最有可能每个少于 50 个字符,但可能会有大约 1500 对。将其编译成某种 DLL 还是最好的?
【问题讨论】:
-
看看
Scripting.Dictionary对象:msdn.microsoft.com/en-us/vba/language-reference-vba/articles/… -
每次宏运行时肯定会创建一个包含 1500 行代码的 1500 对字典会有点慢吗?
-
除非我弄错了;初始化字典:
d.Add "a", "Athens"d.Add "b", "Belgrade"等 -
不,这就是你添加它的方式。该字典不是标准 VBA 库的一部分,它位于 Microsoft Scripting Runtime 库中。因此,您要么必须添加对库的引用,要么使用
CreateObject("Scripting.Dictionary")创建对象。互联网上有大量资源可以了解它是如何工作的,最重要的是它的用途。也许一个简单的内置集合可能满足您的需求。 -
@MartinKS - 也可以查看此链接,您可以轻松地遍历字典 - excelmacromastery.com/vba-dictionary