|
こんにちは。
>Call ClsT.propertysSet(Me("CheckBox" & i), Me("TextBox" & i))
省略時の既定メンバ解釈により動いていますが正確には
Me("CheckBox" & i), Me("TextBox" & i)
↓
Me.Controls("CheckBox" & i), Me.Controls("TextBox" & i)
>Dim ColCls As Collection
>Private Sub UserForm_Initialize()
> Dim ClsT As Class1
> Dim i As Long
>
> Set ColCls = New Collection
> For i = 1 To 3
> Set ClsT = New Class1
> Call ClsT.propertysSet(Me("CheckBox" & i), Me("TextBox" & i))
> ColCls.Add ClsT
> Set ClsT = Nothing
> Next i
本体のクラス変数(ClsT)をローカル変数にして、コレクションに
参照を残して処理しているのはメモリーリークしそうな書き方ですね〜
>クラスモジュールを使うのは初めてなと、本を見ても少しの説明しかのってないので
こちら参考に(§5までが一般的なクラスモジュールによる一元化の手法です)
擬似からの脱却
http://www.h3.dion.ne.jp/~sakatsu/Breakthrough_P-Ctrl_Arrays.htm
|
|