以下代码在VBA中有效
Dim dict_var As Dictionary
Set dict_var = CreateObject("Scripting.Dictionary")
读取堆栈中的多个Q&A我在代码以以下内容开头的解决方案中多次出现:
Dim aDictionary As Dictionary
Set aDictionary = New Dictionary
此最新版本给我一个错误:
无效使用了新关键字
为什么?诀窍在哪里? 为什么要使用一种或另一种方法?
thinks
编辑: 堆栈中有许多与此问题相关的问题,建议使用this one。 然而,这样的问题与字典的字典有关的非常具体的问题。 它也没有解释早期约束力和非早期约束力的含义。 知道以下哪种情况会很高兴。
Dim aDictionary As Dictionary
或者换句话说,当确实有必要时:
Dim aDictionary As scripting.Dictionary
答案 0 :(得分:3)
首先,两者都是早期绑定。要进行后期绑定,您可以将变量声明为Object
。
第二,关于特定错误,我怀疑您对两个具有Dictionary
类的库(例如Word和Scripting Runtime)设置了引用,而在其中更高的一个引用列表是单个实例对象,因此您不能将其与New
一起使用。