教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA フォーム&コントロール】パスワードを入力するテキストボックスを作成する方法を教えて!

構文

構文は以下の通りです。

テキストボックス名.PasswordChar = "*"

解説

PasswordCharプロパティは、テキストボックスに表示される文字を制御するためのプロパティであり、このプロパティに特定の文字を代入することで、入力されたテキストが表示される際にその文字で置き換えられるようになります。具体的には、PasswordCharプロパティに設定された文字は、通常はアスタリスク("*")です。これにより、実際の入力文字が他人に見られることなく、セキュリティを保つことができます。パスワードや個人情報など、他人に知られてはいけない情報を入力する際に利用されることが多い機能です。

使い方

具体的な使い方を紹介します。

Private Sub UserForm_Initialize()
    TextBox1.PasswordChar = "*"
End Sub

TextBox1という名前のテキストボックスのPasswordCharプロパティをアスタリスクに設定しています。すると、ユーザーがテキストボックスに入力した文字はアスタリスクに置き換わり、他人に見られることがありません。

プログラミング例

以下に、プログラミング例を幾つか紹介します。

例1: 基本的なパスワード入力フォーム

以下のコードは、UserForm上にテキストボックスを配置し、入力されたパスワードをアスタリスクで隠して表示する基本的な例です。

Private Sub UserForm_Initialize()
    TextBox1.PasswordChar = "*"
End Sub

Private Sub CommandButton1_Click()
    MsgBox "入力されたパスワード: " & TextBox1.Text
End Sub

例2: パスワードの検証

この例では、入力されたパスワードを検証して特定の条件を満たすかどうかを確認します。

Private Sub UserForm_Initialize()
    TextBox1.PasswordChar = "*"
End Sub

Private Sub CommandButton1_Click()
    Dim password As String
    password = TextBox1.Text
    If Len(password) < 8 Then
        MsgBox "パスワードは8文字以上で入力してください。"
    Else
        MsgBox "パスワードが正しく入力されました。"
    End If
End Sub

例3: パスワードの確認

この例では、2つのテキストボックスを使ってパスワードの確認入力を行い、一致するかどうかをチェックします。

Private Sub UserForm_Initialize()
    TextBox1.PasswordChar = "*"
    TextBox2.PasswordChar = "*"
End Sub

Private Sub CommandButton1_Click()
    Dim password1 As String
    Dim password2 As String
    password1 = TextBox1.Text
    password2 = TextBox2.Text
    If password1 = password2 Then
        MsgBox "パスワードが一致しました。"
    Else
        MsgBox "パスワードが一致しません。もう一度入力してください。"
    End If
End Sub

これらの例は、Excel VBAを使ってパスワードを入力するテキストボックスを作成するためのプログラミングアプローチの一部を示しています。特定の状況に合わせてこれらの例をカスタマイズして利用することができます。

まとめ

ユーザーフォーム上にテキストボックスを配置し、PasswordCharプロパティに"*"を設定することで、入力された文字を隠すことができます。セキュリティを向上させたパスワード入力フォームを作成してみてください。