传递非变量对象声明

时间:2012-10-10 14:22:26

标签: vba excel-vba excel

我有一个包含ParamArray参数的方法,并且想知道是否有一些特殊的符号我可以在VBA中使用以获得相同的效果:

method val1, _
         val2, _
         new object(){prop1:=val11, _
                      prop2:=val12}, _
         new object(){prop1:=val21, _
                      prop2:=val22}

它不漂亮,但应该得到交叉点。基本上我正试图将我学到的技能/逻辑翻译成.Net,从1.0开始,并尝试在VBA中加入类似的逻辑设计。

1 个答案:

答案 0 :(得分:1)

假设你的意思是对象结构简写然后没有,没有直接的等价物。

如果成员名称相同,那么您可以使用工厂函数

method val1, val2, makeFoo(val11, val12), makeFoo(val21, val22)
.
.
.
function makeFoo(prop1 as string, prop2 as string) As clsFoo
   set makeFoo = new clsFoo
   makeFoo.prop1 = prop1
   makeFoo.prop2 = prop2
end function

Optional参数也允许命名参数makeFoo(prop1:=val11, ...