vba的新手。如何将字典对象传递给另一个函数。

Sub aaa(dict As Object)
Set dict = CreateObject("Scripting.Dictionary")
...
process dict
End Sub

Sub process(dict As Scripting.Dictionary)
    MsgBox dict.Count
End Sub


给出一个编译错误:
用户定义类型未定义



也,

Set dict = CreateObject("Scripting.Dictionary")


可行,但是

Dim dict As New Scripting.Dictionary


给出“未定义用户定义的类型”

我使用Excel 2010

最佳答案

使用CreateObject时,将在运行时绑定对象(即后期绑定)。使用As Scripting.Dictionary时,对象是在编译时绑定的(即早期绑定)。

如果要进行早期绑定,则需要设置对正确库的引用。为此,请转到工具->引用...,然后选择“ Microsoft脚本运行时”

关于excel - 通过vba字典,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9401378/

10-10 03:47