1

字典类的 add 方法的 VBA 语法如下:

Dictionary.Add (Key as String, Item as Variant) 

但实际上包含这些括号会产生语法错误。

因此,如果 D 是字典类型的对象,则 vba 期望:D.Add "key1", "value1"

并不是:

D.Add("key1", "value1") <= 这会产生错误!

将 Add 方法与 Exists 进行对比:

Dictionary.Exists (Key as String)

括号实际上是预期的:

V1 = D.Exists("key1")

那么为什么 Add 语法指定了 (),但实际上并不期望它们(如果使用它们甚至会产生错误),而 Exists 语法指定它们并且确实期望它们?

4

1 回答 1

1

在 VBA 中,如果您使用参数调用 Sub,您可以使用以下方式调用它:

YourSub Parameter1

或者

Call YourSub(Parameter1)

请注意,这YourSub (Parameter1)实际上会将 Parameter1 转换为字符串,然后将其交给 YourSub - 这肯定不是您想要的!!!

如果它是一个函数,你可以调用它:

result = YourFunction(Parameter1)

在 Dictionary 对象的情况下,.Add是一个方法/子,即你使用dict.Add Key, Value, while.Exists是一个函数,所以你需要使用if dict.Exist(Key)...

于 2013-10-01T21:35:20.597 回答