システムのログイン機能ってVBAで作るとどんな風になるのか?

 

こんにちは。変革担当 山本です。

 

システムにはログイン画面にIDとPASSWORDを入れてログインしたり、

IDとPASSWORDを登録してシステムを利用できるようにしたりと言った機能があります。

 

今回はそれらの機能をエクセルVBAだけを使って簡易的に作成してみました。

 

まずはユーザーがログインIDとPASSWORDを入力する画面を作ります。

 

 

Login.xlsmを立ち上げたときにUserForm1が表示されるようにします。

 

```

Option Explicit

Private Sub Workbook_Open()
    UserForm1.Show
End Sub
 

```

次にLoginボタンを押したときにdataシートに格納されているIDとPASSを照合し、ログインできるか否かを返すプログラムをします。

 

 

``````

Private Sub CommandButton1_Click()
    Worksheets("data").Visible = True
    For i = 2 To Worksheets("data").Cells(1, 1).End(xlDown).Row
        If Worksheets("data").Cells(i, 1) = TextBox1.Text And Worksheets("data").Cells(i, 2) = TextBox2.Text Then
            MsgBox "ログイン成功"
            Unload UserForm1
            Exit For
        End If
    Next
    Worksheets("data").Visible = False
End Sub

``````

次にUserForm1のサインアップボタンを押したときに表示されるUserForm2では、新規でIDとPASSWORDを登録できるようにします。

 

 

```

Private Sub CommandButton1_Click()
    If TextBox1.Text <> "" And TextBox2.Text <> "" And Trim(TextBox1.Text) <> "" And Trim(TextBox2.Text) <> "" Then
        Worksheets("data").Visible = True
        Worksheets("data").Activate
        Worksheets("data").Cells(Cells(1, 1).End(xlDown).Row + 1, 1) = TextBox1.Text
        Worksheets("data").Cells(Cells(1, 1).End(xlDown).Row, 2) = TextBox2.Text
        Worksheets("data").Visible = False
        TextBox1.Text = ""
        TextBox2.Text = ""
    End If
End Sub
 

```

走り書きになってしまいましたが、エクセルでログイン画面を作成すると上記のようなプロトタイプが完成しました。

 

何かシステムを作ってみたいとき、ユーザーがシステムに対してイメージを持ちやすいように素早くプロトタイプを作れるのがエクセルVBAの強みの一つではないかと思います。今後も、エクセルVBAでプロトタイプを作っていきたいと思います。

 

 

今後もアイ・ナレッジを応援よろしくお願いします。