|
おはようございます。
例
新規ブックのユーザーフォームに(Userform1)に
テキストボックスを3つ配置してください。
TextBox1、TextBox2、TextBox3
配置するコントロールは上記の3つでよいです。
クラスモジュールを作成してください(挿入----「クラスモジュール」)
クラス名は、既定の名前の Class1 とします。
このClass1のモジュールに
'=============================================================
Option Explicit
Public id As Long
Public WithEvents txt As MSForms.TextBox
Private Sub txt_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
MsgBox "Textbox" & id & " = " & txt.Text
Cancel = True
End Sub
Userform1のモジュールには、
'===============================================================
Option Explicit
Private t_class(1 To 3) As Class1
Private Sub UserForm_Initialize()
Dim g0 As Long
For g0 = 1 To 3
With Controls("textbox" & g0)
.PasswordChar = "*"
.Text = Array("aaaa", "bbbb", "cccc")(g0 - 1)
.Locked = True
End With
Set t_class(g0) = New Class1
With t_class(g0)
.id = g0
Set .txt = Controls("textbox" & g0)
End With
Next
End Sub
標準モジュールには
'===========================================================
Sub main()
UserForm1.Show
End Sub
でmainを実行してみてください
それぞれのテキストボックスには何か入力されていますが、
「***」 で隠されています。
各テキストボックスをダブルクリックすることでその内容が
表示される
という仕様です。
この例で クラスモジュールの使用でコードがまとめられることが
確認できますか?
試してみてください。
|
|