システムのログイン機能って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でプロトタイプを作っていきたいと思います。
今後もアイ・ナレッジを応援よろしくお願いします。