#387 パスワード入力の内容を見せたり隠したりする方法 フォーム、VBA

テキストボックスにおいて、「定型入力」プロパティの欄に"パスワード"と入力すると、フォームビューで文字を入力したとき、「****」という表示になって、入力された文字が分からないようになります。

ここではその設定を動的に切り替えて、入力した文字が見えるようになったり見えなくなったりする方法を紹介します。

サンプルとして次のようなデザインのフォームを作ります。"txtPassWord"という名前のテキストボックスと、"cmdShowType"という名前のコマンドボタンが配置されています。
サンプルフォームのデザイン

そして、cmdShowTypeボタンのクリック時イベントプロシージャに次のようなコードを書きます。

Private Sub cmdShowType_Click()
'[見るようにする]ボタンクリック時

  Static sblnVisible As Boolean

  If sblnVisible Then
    'パスワードが見える状態のとき
    Me!txtPassWord.InputMask = "Password"
    Me!cmdShowType.Caption = "見るようにする"

  Else
    'パスワードが見えない状態のとき
    Me!txtPassWord.InputMask = ""
    Me!cmdShowType.Caption = "隠す"

  End If

  '状態を反対にする
  sblnVisible = Not sblnVisible

End Sub


サンプルでは、1つのコマンドボタンで表示/非表示を切り替えるようにしています。そのため、sblnVisibleというStatic変数を使って、現在どちらの状態かを管理しています。

フォームを開いた直後はsblnVisibleはFalseの状態です。cmdShowTypeボタンをクリックすると、「InputMask/定型入力」プロパティが空に設定変更されます。これによって"パスワード"という定型入力が解除され、テキストボックスに入力した値が見えるようになることになります。また同時に、コマンドボタンの標題を"隠す"に変更するとともに、Static変数の値を反転させています。

sblnVisibleがTrueの状態でcmdShowTypeボタンをクリックすると、「InputMask/定型入力」プロパティには"Password"が設定され、"パスワード"という定型入力が再設定されます。同時にコマンドボタンの標題も"見るようにする"に戻します。
このとき、プロパティシートでは"パスワード"という文字を指定しますが、VBAでそれを設定する場合には"Password"と指定しなければならないことに注意してください。

実行結果:
パスワードが見えないとき
パスワードが見えるとき
| Index | Prev | Next |



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