サンプルマクロでは、複数のコントロールが配置されているフォームで、
コマンドボタンがクリックされるとその中のテキストボックスに値が入力されて
いるかどうかをチェックしています。
チェックしたいテキストボックスの名前には、必ず「Text」という文字列が
付いているものとして、InStr関数を使ってコントロールの名前をチェックして、
且つ未入力のものがあった場合にメッセージボックスを表示しています。
フォームにテキストボックス「TextBox1」「TextBox2」と、コマンドボタン
「CommandButton1」と適当にコントロールを配置して、コマンドボタンがクリックされた
時に発生するイベント「Click」に次のプロシージャを作成してください。
「TextBox1」は「氏名」入力用のテキストボックス、「TextBox2」は「住所」入力用
のテキストボックスとします。
Private Sub CommandButton1_Click()
Dim myCtl As Object
Dim myMSG As String
For Each myCtl In Controls
If InStr(1, myCtl.Name, "Text") <> 0 Then
If myCtl.Value = "" Then
Select Case myCtl.Name
Case Is = "TextBox1"
myMSG = "氏名"
Case Is = "TextBox2"
myMSG = "住所"
Case Else
myMSG = myCtl.Name
End Select
MsgBox myMSG & "が空白です。"
End If
End If
Next myCtl
End Sub
そのほかにも、
If TypeNamne(myCtl) = "TextBox" Then
のように、コントロールの種類を判断して処理を行う方法もあります。
|