我正在尝试在 VBA 类模块中设置一个变量,每次初始化该类的实例时该变量都会递增。
例如,该类的第一个实例将有一个数字“1”,下一个将是“2”,等等。
如果我的术语不正确,我深表歉意。
Private Sub Class_Initialize()
Number=Number+1<-- This variable would increment every time there is a new instance
End Sub
在模块中声明一个全局或公共变量 Public NumberOfInstances as Long
。
然后在类中使用此代码:
私有子类_Initialize() NumberOfInstances = NumberOfInstances + 1 结束子
如果你想知道每个实例的编号,你需要在类中添加一个成员变量并初始化它,例如:
私有 mInstanceCount 为 Long 公共属性 Get InstanceCount() as Long: InstanceCount = mInstanceCount: End Property 私有子类_Initialize() NumberOfInstances = NumberOfInstances + 1 mInstanceCount = NumberOfInstances 结束子
在类的顶部声明你的变量 - 静态数字
您不能在 VBA 中声明静态类变量!使用真正的面向对象语言(例如 Java)将是可能的。