クリックできないようにする


ここでは、次のような動作を考えてみます。

UserFormを表示しても、正しいパスワードを入力しないと[実行]ボタンをクリックできません。

テキストボックスに正しいパスワードが入力されると、[実行]ボタンをクリックできるようになります。

Windowsのオペレーションで、お馴染みの操作ですね。

表示されているボタンが、クリックできるかどうかは、CommandButtonのEnabledプロパティで操作します。EnabledプロパティがFalseだと、ボタンの文字列がグレイアウトして、クリックできなくなります。そこで、テキストボックスに正しいパスワードが入力されたかによって、CommadnButton1のEnabledプロパティを切り替えてやります。

Private Sub TextBox1_Change()
    If TextBox1.Text = "1234" Then
        CommandButton1.Enabled = True
    Else
        CommandButton1.Enabled = False
    End If
End Sub

UserFormを表示した直後は、絶対に正しいパスワードが入力されていません。だって、テキストボックスは空欄ですから。なので、UserFormのデザイン段階で、CommandButton1のEnabledプロパティをオフにしておけばいいでしょう。あるいは次のように、UserFormの初期化で設定する手もありますね。

Private Sub UserForm_Initialize()
    CommandButton1.Enabled = False
End Sub