VBA SortedList 的早期绑定的参考名称是什么?

What is the reference name for early-binding of VBA SortedList?

我有以下 VBA 代码(后期绑定):

Dim myList As Object
Set myList = CreateObject("System.Collections.SortedList")

我想用这个替换(早期绑定):

Dim myList As New SortedList

有人成功过吗?我想必须启用 A 参考。但是那个参考的名字是什么?

可能*最简单的方法是在打开时添加它:

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 中,您可以手动直接 link 通过在参考文献中检查 mscorlib.dll (Tools/references...)