为字典类的添加方法的VBA语法被给定为:为什么添加字典类的方法不需要括号?
Dictionary.Add (Key as String, Item as Variant)
但实际上包括这些括号生成语法错误。
因此,如果d是类型字典的对象,然后VBA预计: D.Add “KEY1”, “值1”
而不是:
D.Add( “KEY1”,“VALUE1 “)< =这会产生一个错误!
对比添加方法与存在:
Dictionary.Exists (Key as String)
括号实际上是预期:
V1 = D.Exists( “KEY1”)
那么,为什么是添加语法指定()的,但实际上并不期望它们(甚至在使用它们时会产生一个错误),而Exists语法指定它们并且实际上期望它们?
我认为VBA使用与VBScript相同的规则。看到这个:http://stackoverflow.com/questions/5413765/what-are-the-rules-governing-usage-of-brackets-in-vba-function-calls – HK1
你刚刚给的例子说不使用()如果没有参数给子,但是如果有参数则使用()。在上面的Add例子中,有参数key1,value1。所以根据这个例子,应该预计(),对吗? – tgoneil