【问题标题】:What is the reference name for early-binding of VBA SortedList?VBA SortedList 的早期绑定的参考名称是什么?
【发布时间】:2018-04-19 12:07:57
【问题描述】:
我有以下 VBA 代码(后期绑定):
Dim myList As Object
Set myList = CreateObject("System.Collections.SortedList")
我想用这个替换它(早期绑定):
Dim myList As New SortedList
有人成功了吗?我想必须启用 A 引用。但是那个引用的名称是什么?
【问题讨论】:
标签:
vba
reference
sortedlist
early-binding
【解决方案1】:
可能*最简单的方法是在打开时添加它:
Private Sub Workbook_Open()
With ThisWorkbook.VBProject.References
.AddFromFile "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\mscorlib.tlb"
'.AddFromguid "{BED7F4EA-1A96-11D2-8F08-00A0C9A6186D}", 2, 4
End With
End Sub
这会将mscorlib.dll 添加到引用中:
然后:
Public Sub TestMe()
Dim myList As SortedList
Dim myList2 As New ArrayList ' as a bonus!
End Sub
来自http://www.snb-vba.eu/VBA_Sortedlist_en.html
- SortedList 不是常规 VBA 库的元素。
- SortedList 是库 System.Collections 的一部分。
- 您可以在
\WINDOWS\Microsoft.NET\Framework\v4.0.30319\mscorlib.tlb 或类似目录中找到该库
- 在 VBEditor 中,您可以通过检查参考(工具/参考...)中的 mscorlib.dll 手动直接链接到该库