0

我正在尝试在 VBA 类模块中设置一个变量,每次初始化该类的实例时该变量都会递增。

例如,该类的第一个实例将有一个数字“1”,下一个将是“2”,等等。

如果我的术语不正确,我深表歉意。

Private Sub Class_Initialize()
     Number=Number+1<-- This variable would increment every time there is a new instance
End Sub
4

2 回答 2

3

在模块中声明一个全局或公共变量 Public NumberOfInstances as Long

然后在类中使用此代码:

私有子类_Initialize()
    NumberOfInstances = NumberOfInstances + 1
结束子

如果你想知道每个实例的编号,你需要在类中添加一个成员变量并初始化它,例如:

私有 mInstanceCount 为 Long

公共属性 Get InstanceCount() as Long: InstanceCount = mInstanceCount: End Property

私有子类_Initialize()
    NumberOfInstances = NumberOfInstances + 1
    mInstanceCount = NumberOfInstances
结束子
于 2012-12-29T00:09:03.310 回答
0

在类的顶部声明你的变量 - 静态数字

您不能在 VBA 中声明静态类变量!使用真正的面向对象语言(例如 Java)将是可能的。

于 2012-12-27T16:03:46.497 回答