VBA System.Collections.Queue

VBA System.Collections.Queue,vba,stack,queue,Vba,Stack,Queue,我刚刚发现了VBA提供的“内置”堆栈和队列。按照它的编写方式,我看不到队列对象的属性和方法 Dim queue As Object Set queue = CreateObject("System.Collections.Queue") 'Create the Queue queue.Enqueue "Hello" 'VBE does not show the available properties and methods 所以我的问题是:是否有一个参考,我可以使用,让我有早期绑定和受

我刚刚发现了VBA提供的“内置”
堆栈
队列
。按照它的编写方式,我看不到
队列
对象的属性和方法

Dim queue As Object
Set queue = CreateObject("System.Collections.Queue") 'Create the Queue

queue.Enqueue "Hello"   'VBE does not show the available properties and methods
所以我的问题是:是否有一个参考,我可以使用,让我有早期绑定和受益于VBE自动完成?比如:

Dim queue As System.Collections.Queue   'not working

堆栈
队列
是.Net framework中的COM对象,它们不能用于早期绑定。(如@Florent B.在评论中所述)

但是,如果需要查看COM对象的属性,可以查看MSDN站点(这里非常明确):

或者打开一个VisualStudio并从那里检查IntelliSense。几乎所有写在那里的东西都有用:

Public Sub TestMe()    
    Dim myArr  As Variant        
    With CreateObject("System.Collections.Queue")
        .Clear
        .Enqueue (1)
        .Enqueue (2)
        myArr = .toArray
    End With
    Debug.Print myArr(1)        
End Sub

VBA没有内置的
堆栈
队列
。这些是.Net framework中的COM对象,根据设置的不同,这些对象可能会丢失或不可用。您可以添加
mscorelib.dll
以查看接口。