在VBA中将对象传递给过程
在VBA中将对象传递给过程
我正在开发一个简单的工具,可以让我解析多个CSV文件,并将它们融合到一个新的工作表中。以下是我的实现(我简化了它)以及我的问题:
类A
私有变量类型 用于访问变量的属性方法
类B
私有变量类型 用于访问变量的属性方法
类C
私有cA作为ClassA 私有cB作为集合(ClassB的集合)
类D - 我的问题的一部分
私有cC作为集合(ClassC的集合)
'其他成员变量及其属性的获取/设置
公共子过程AddA(A作为ClassA)
如果cC.Item(A.foo)为Nothing,则
声明tempC作为ClassC
设置tempC为新的ClassC
tempC.A = A
结束If
结束子过程
主模块 - 我问题的另一部分
Dim cC作为新的ClassC '初始化Class C,这一切都正常工作 Dim tempA作为ClassA 设置tempA为新的ClassA '设置tempA的属性 cC.AddA tempA '这是我的错误所在
我尝试了使用ByVal
和ByRef
传递参数,每个都给我不同的错误("byref argument type mismatch","invalid procedure or argument","Object doesn't support this property or method")
我不知道接下来该尝试什么,我甚至尝试了括号“thing”,据说可以强制参数为ByVal或ByRef,我记不清了,那是昨天的事。
谢谢。