在VBA宏中存储键值对

时间:2017-11-03 13:41:59

标签: vba outlook-vba

我在Outlook中编写的长宏的最后阶段是将电子邮件路由到适当的人,具体取决于宏发现的所有内容。在使用Excel工作表和" Key"的重新选择之前,我已经完成了这项工作。值 - 但在这种情况下,键值对将是静态的,因此excel感觉像是过度杀戮,并且会减慢速度。

键和值都是字符串,每个字符串最少可能少于50个字符,但可能会有大约1500个字符串。将它编译成某种DLL还是最好的东西?

1 个答案:

答案 0 :(得分:1)

一种简单的方法是将所有值都粘贴到一个文本文件中,其中键和值由空格(或其他合适的字符,如果键或值中有空格)分隔,然后将它们添加到字典中。在我的300MHz P3上,运行不到一秒钟。

Dim objDict As Object, objFSO As Object, objFile As Object
Dim strLine As String, strs As Variant

Set objDict = CreateObject("Scripting.Dictionary")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFile, forReading)
For ii = 1 To 1500
    strs = Split(objFile.ReadLine(), " ")
    objDict.Add strs(0), strs(1)
Next
objFile.Close