Excel
VBA

Excelでパスワードを「*」で表示させる

Excelにパスワードを入力するときに、パスワードを「*」で伏字にしたかったです。
こんな感じになりました。
image.png

以下、その手順を書きます。

テキストボックスの挿入

開発タブ-挿入-テキストボックス(ActiveXコントロール)を選択し、入力欄を持ってきたい場所に挿入します。
image.png

※ ActiveXとフォームコントロールの違いは?
大きな違いは以下の通りらしい。
image.png
→ ActiveXコントロールの方がいろいろできるんだなあ。。くらいの認識で止まっています。

参考:エクセル(Excel)の技。知ってましたか・・・。

プロパティの変更

  • テキストボックスを選択して右クリック-プロパティ を選択
    image.png

  • PasswordCharの横に「*」を入力
    image.png

これで、テキストボックスへの入力時に、「*」が表示されるようになります。

もうひと手間

上記手順を行い、これで「大丈夫でしょ!!」と思っていましたが、
入力しようとすると入力できない。。。。( ´・ω・`)

∑('=';)もしやここが日本語入力だから。。?

image.png

と思って、半角入力にしてみたら入力できるようになりました。
自分で半角入力に変更してもよいけど、VBAで指定するようにします。

Private Sub TextBox3_Change()
    With TextBox3
        .IMEMode = fmIMEModeAlpha
        .MaxLength = 32
    End With
End Sub

ついでにMAX文字数も指定しました。
他の入力モードに変更したい場合は、以下を参照してください。
image.png
参考:Excel(エクセル) VBA入門:テキストボックスの使い方

これで、完成です。

疑問点

  • ActiveXコントロールとフォームコントロールがあったけれど、とりあえずActiveXを使っていてもいいのか…(フォームコントロールじゃないといけない場合がある?)
  • VBAにあるTextBox3_Change()というメソッド名は、テキストボックス挿入時に勝手に付けてくれるのだけど、どうやって変更するのだろう…

今後はこれを使って、Webサイトにログイン!といったことをやっていきたいです。