21 | テキストボックスの名前を連番にする | ||
フォーム上のコントロール(Controlオブジェクト)の”名前”はその「Name」プロパティで取得・設定することができます。 その名前を変更して、ある形式の連番にしたい場合には、あらかじめそのカウンタを示す変数を用意しておき、該当するコントロールごとに+1ずつしながらNameプロパティ値を書き換えていきます。 次のプログラムでは、フォームのControlsコレクションからControlオブジェクトをループで取り出します。そのコントロールがテキストボックス(ControlTypeプロパティが組み込み定数acTextBox)なら、「txt + カウンタ値」の形式にNameプロパティを変更するとともに、そのカウンタ値をインクリメントします。
プログラム
Sub SampleCode_21() 'テキストボックスの名前を連番にする Dim ctl As Control Dim intCtlNo As Integer '連番の初期値を設定 intCtlNo = 1 'アクティブフォームのすべてのコントロールのループ For Each ctl In Screen.ActiveForm.Controls With ctl If .ControlType = acTextBox Then 'テキストボックスなら名前を連番に設定 .Name = "txt" & intCtlNo '連番をインクリメント intCtlNo = intCtlNo + 1 End If End With Next ctl End Sub 実行例
■実行前■実行後 |
|||
|
Copyright © T'sWare All rights reserved |