我正在研究一个简单的工具,它允许我解析多个CSV文件并将它们拼接到一个“合并”在一起的新工作表上。这是我的实现(我简化了它)和我的问题:
A类
private variables as types
property methods for accessing variables
B类
private variables as types
property methods for accessing variables
C类
Private cA as ClassA
Private cB as Collection 'Collection of ClassB
D类 - 我的一部分问题
Private cC as Collection 'Collection of ClassC
'Other member variables and their property get/lets
Public Sub AddA(A as ClassA)
If cC.Item(A.foo) is Nothing then
dim tempC as ClassC
set tempC = new ClassC
tempC.A = A
End if
End Sub
主要模块 - 问题的另一半
Dim cC as New ClassC
'Initialize Class C, this all works fine
Dim tempA as ClassA
Set tempA = new ClassA
'Set tempA properties
cC.AddA tempA 'This is where my error is
我尝试将其作为ByVal
传递,ByRef
每个都给出了不同的错误(“byref参数类型不匹配”,“无效的过程或参数”,以及“对象不支持此属性或方法“
我不知道下一步该尝试什么,我甚至尝试了括号“事物”,据说强制参数进入ByVal或ByRef,我不记得了,那是昨天。
感谢。
答案 0 :(得分:0)
这一行:
tempC.A = A
表示“向A
tempC
属性A
对象提供A
对象的默认属性的值。”
您的Set tempC.A = A
对象显然没有默认属性。
你的意思可能是:
A
但即便如此,您也无法从C
课程访问D
班级的私人字段SetA()
。将该字段设为公开字段或在C
类上创建公开D
方法,并从{{1}}调用该方法。