#311 コマンドボタンをまとめて使用不可にする方法 フォーム、VBA

これも「#309 すべてのテキストボックスを空欄にする方法」の応用です。ここではフォーム内のすべてのコマンドボタンコントロール(定数"acCommandButton")を探して、その"Enabled/使用不可"プロパティをFalseに設定します。

ただし、これを実行する[実行]ボタン("cmdExec")もコマンドボタンコントロールなので、フォーカスがある状態で使用不可をFalseにしようとするとエラーとなってしまいます。そこでここではコマンドボタンの名前が"cmdExec"でないものだけを対象に処理するようにしています。もし他にテキストボックスなどが配置されている場合には、事前にそれにフォーカスを移動しておけば、"cmdExec"もいっしょに使用不可にすることができます。
Private Sub cmdExec_Click()
'[実行]ボタンクリック時

  Dim ctl As Control
  
  For Each ctl In Me.Controls
    With ctl
      If .ControlType = acCommandButton And _
         .Name <> "cmdExec" Then
        .Enabled = False
      End If
    End With
  Next ctl

End Sub

実行前 実行後
実行前 実行後
テキストボックスやチェックボックスは使用可能のままです
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved