excel - vba初始化字典的早期和后期绑定
问题描述
以下代码适用于 VBA
Dim dict_var As Dictionary
Set dict_var = CreateObject("Scripting.Dictionary")
阅读堆栈中的多个问答我多次遇到代码开头的解决方案:
Dim aDictionary As Dictionary
Set aDictionary = New Dictionary
这个最新版本给了我一个错误:
新关键字的使用无效
为什么?这里的诀窍在哪里?为什么要使用一种或另一种方法?
谢谢
编辑:堆栈中有很多与此问题相关的问题,建议使用此问题。然而,这样的问题涉及到一个非常具体的字典问题。它也没有解释早期和非早期约束的含义。很高兴知道以下在哪种特定情况下有效。
Dim aDictionary As Dictionary
或者换句话说,当确实需要时:
Dim aDictionary As scripting.Dictionary
解决方案
首先,您的两个代码集都是早期绑定的。要后期绑定,您可以将变量声明为Object
.
其次,至于具体错误,我怀疑您将引用设置为两个库,其中包含一个Dictionary
类 - 例如 Word 和脚本运行时 - 并且引用列表中较高的一个是单个实例对象所以你不能用New
它。
推荐阅读
- php - Wordpress - Show admin bar only to the post author
- npm - 使用 yarn add 升级依赖项后 Yarn.lock 不更新?
- python - Scrapy 将通过命令行启动,但不会通过 CrawlerProcess
- elixir - Elixir:从 query_param 访问元组列表并对其进行迭代
- c - K&R 示例中的 EOF
- vb.net - 是否可以在 Outlook 发件人地址上使用自定义标签?
- python - Pandas 如何将 3 个一组的列旋转成行
- javascript - 如何对一个数组进行排序,该数组的元素为表示金额的字符串,其符号如 62B 和 51M ?我需要对这笔钱进行排序
- python - 使用和不使用全局变量的 Python 递归
- reactjs - 在平面列表中的 react-native scrollToOffset 中无法正常工作?