VBA:类型语句与类模块

VBA:类型语句与类模块,vba,Vba,关于VBA类型语句,我从互联网上读到,它相对于类模块的一个缺点是“不能声明类型的新实例。必须在设计时声明所需的所有变量,或者需要一个动态数组,该数组的大小可以通过Redim Preserve调整,这是一个笨拙而昂贵的操作。” 有人能解释一下这是什么意思吗?谢谢大家! 我读到的帖子如下:你总是可以使用newmyclass来创建一个类的新实例,但是没有等价物来创建一个类型的新“实例” 例如: 我通常会通过使用“工厂”函数来解决这个问题。例如: Function Person(fName As Str

关于VBA类型语句,我从互联网上读到,它相对于类模块的一个缺点是“不能声明类型的新实例。必须在设计时声明所需的所有变量,或者需要一个动态数组,该数组的大小可以通过Redim Preserve调整,这是一个笨拙而昂贵的操作。”

有人能解释一下这是什么意思吗?谢谢大家!


我读到的帖子如下:

你总是可以使用
newmyclass
来创建一个类的新实例,但是没有等价物来创建一个类型的新“实例”

例如:

我通常会通过使用“工厂”函数来解决这个问题。例如:

Function Person(fName As String, lName As String ) As PersonType
    Dim rv as PersonType    
    rv.FirstName = fName
    rv.LastName = lName
    Person = rv
End Function
然后

Function Person(fName As String, lName As String ) As PersonType
    Dim rv as PersonType    
    rv.FirstName = fName
    rv.LastName = lName
    Person = rv
End Function
myCollection.Add Person("Bill", "Smith)