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モジュールでグローバル変数またはパブリック変数を宣言します 。

次に、クラスで次のコードを使用します。

Private Sub Class_Initialize()
    インスタンス数 = インスタンス数 + 1
サブ終了

各インスタンスの番号を知りたい場合は、メンバー変数をクラスに追加して初期化する必要があります。次に例を示します。

Private mInstanceCount as Long

Public プロパティ Get InstanceCount() as Long: InstanceCount = mInstanceCount: End プロパティ

Private Sub Class_Initialize()
    インスタンス数 = インスタンス数 + 1
    mInstanceCount = NumberOfInstances
サブ終了
于 2012-12-29T00:09:03.310 に答える
0

クラスの先頭で変数を宣言します - 静的番号

VBA で静的クラス変数を宣言することはできません。Java などの真の OO 言語では可能です。

于 2012-12-27T16:03:46.497 に答える