我正在编写一个强大的 Word 宏,该宏将用于多种不同机器上的各种 Word。
我在许多 VBA 专家论坛上读到过,早绑定总是比晚绑定更受欢迎,因为它在性能上要好得多。
然而,对于我的逻辑,感觉如此 - 除非好处被令人信服地证明 - 在可用性方面恰恰相反,因为我不希望确保那些 lib-references 在它可能运行的所有机器上打勾的痛苦。
我已经尝试过 `ThisWorkbook.VBProject.References.AddFromGUID "{420B2830-E718-11CF-893D-00A0C9054228}", 1, 0`。它将以编程方式添加引用,但它需要在机器上启用安全信任以进行代码操作。
然后我设置了一个测试来比较 1000 次早期和晚期 bindt 字典操作的运行。我还尝试了其他测试设置,例如 ScreenUpdating、DoEvents、Debug.Print,以查看每个设置的性能影响。
到目前为止,我看到的是,早期与晚期绑定本身在任何设置中都没有可测量的性能差异(除了任何运行之间 10% 的随机波动)。
VBA Guru-s 我对你对这个故事的理解很感兴趣,那我为什么要使用早期绑定,或者它在现实生活中真的有这样的优势。
我的测试代码是这样的:
Sub HeadingDefinitionWords_test()
Application.ScreenUpdating = False
Dim tm As Long
tm = timeGetTime
Dim DefinitionRangeBackup As Range, DefinitionRange As Range
Dim kEy As Variant, i As Long, k As Integer
Dim TempList As Object: Set TempList = CreateObject("Scripting.Dictionary")
'Dim TempList As Scripting.Dictionary: Set TempList = New Scripting.Dictionary
For i …
Run Code Online (Sandbox Code Playgroud)