我正在尝试在VBA类模块中设置一个变量,每次初始化一个类的实例时它都会递增。
例如,类的第一个实例的数字为“1”,下一个实例为“2”,等等。
如果我的术语不正确,我道歉。
Private Sub Class_Initialize()
Number=Number+1<-- This variable would increment every time there is a new instance
End Sub
答案 0 :(得分:3)
在模块中声明全局或公共变量Public NumberOfInstances as Long
。
然后在课程中使用此代码:
Private Sub Class_Initialize() NumberOfInstances = NumberOfInstances + 1 End Sub
如果你想知道每个实例有哪个数字,你需要在类中添加一个成员变量并初始化它,例如:
Private mInstanceCount as Long Public Property Get InstanceCount() as Long: InstanceCount = mInstanceCount: End Property Private Sub Class_Initialize() NumberOfInstances = NumberOfInstances + 1 mInstanceCount = NumberOfInstances End Sub
答案 1 :(得分:0)
将变量声明在类的顶部 - 静态数字
您无法在VBA中声明静态类变量! 有可能使用真正的OO语言,例如Java。