【YouTube】ログイン&PW認証フォームの作り方(VBAソース公開)

【YouTube】ログイン&PW認証フォームの作り方(VBAソース公開)


システム利用者が増えてくると、セキュリティ上、IDとPWによる「利用制限」が必要となることがあります。

特定の人のみが利用できるように「認証」フォームを紹介させていただきます。

みなさん、こんにちは。セルネッツ竹本です。


今回は、「ログイン&PW認証フォームの作り方」をテーマで公開済みの、以下のYouTube動画で解説したVBAプログラムソースを公開しています。

↓YouTube動画

【VBA入門】ログイン&PW認証フォームの作り方を公開

システム利用者が増えてくると、セキュリティ上、IDとPWによる「利用制限」が必要となることがあります。
特定の人のみが利用できるように「認証」フォームを紹介させていただきます。

◆認証フォームのイメージ

オーソドックスに、要素は2つ。「ログインID」と「PassWord」の2つです。

Excelブック先頭シートに[MENU]という名前で用意し、

ログイン認証】ボタンをクリックすると認証フォームが立ち上がる仕様としました。

【ログイン認証】ボタンをクリックすると認証フォームが立ち上がる仕様としました。

◆VBAソース(ユーザーフォームModule)

3つのプロシージャで(Sub ではじまり、End SUB で終わる)構成しました。

値を入力したら認証ボタンを押下する、そんなシンプルなデザインにしてみました。

'※※※※※※※※※※※※※※※※※※※※※※※※
Sub UserForm_Initialize()
'※※※※※※※※※※※※※※※※※※※※※※※※
    
    txtログインID = "": txtPW = ""
    
    '◆日本語入力モード
    txtログインID.IMEMode = fmIMEModeOff: txtPW.IMEMode = fmIMEModeOff
    
    '◆MaxLength(最大文字数)
    txtログインID.MaxLength = 5: txtPW.MaxLength = 5

    '◆Tab順
    txtログインID.TabIndex = 1: txtPW.TabIndex = 2

    '◆カーソルSET
    Call カーソルSET_txtログインID
    
End Sub

'※※※※※※※※※※※※※※※※※※※※※※※※
Sub カーソルSET_txtログインID()
'※※※※※※※※※※※※※※※※※※※※※※※※
    txtログインID.SelStart = 0: txtログインID.SelLength = Len(txtログインID): txtログインID.SetFocus

End Sub

'※※※※※※※※※※※※※※※※※※※※※※※※
Sub カーソルSET_txtPW()
'※※※※※※※※※※※※※※※※※※※※※※※※
    txtPWSelStart = 0: txtPW.SelLength = Len(txtPW): txtPW.SetFocus

End Sub

◆VBAソース(ユーザーフォーム認証Module)

行っていることは実にシンプル。2つのフィールド文字列が一致しているかどうか。

エラーがなければ認証成功で、機能制限は解除されます。

'◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Private Sub B_認証_Click()
'◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

    Application.ScreenUpdating = False
    
    '◆入力チェック1/2
    If txtログインID <> O_99.Cells(2, 3) Then
    
        Call カーソルSET_txtログインID
        MsgBox "入力値に誤りがあります。" & vbCrLf & _
        "確認のうえ、再度、実行してください。", , "ERROR"
        Exit Sub
    
    End If

    '◆入力チェック2/2
    If txtPW <> O_99.Cells(2, 4) Then
    
        Call カーソルSET_txtPW
        
        MsgBox "入力値に誤りがあります。" & vbCrLf & _
        "確認のうえ、再度、実行してください。", , "ERROR"
        Exit Sub
    
    End If

'↓非表示
UF00.Hide
    
    MsgBox "認証成功しました", , "[認証成功]"
    
'↓アンロード
Unload UF00

End Sub

◆PW設定シートの管理方法

IDとPasswordどこで管理・設定するか?

IDとPasswordどこで管理・設定するか?

よくある設計ですが、今回の動画では、以下の3つを紹介しました。

1.ブック保護で設定シートを隠す

2.VBAで設定シートを隠す

3.[設定ファイル]を別ブック(*.xlsx)として連携する

動画シナリオとしては、「機能ボタン」に対して認証を求める方法を紹介しましたが、

Excelを起動するタイミングで認証を求める方法もあります。

つまり、ID&PWを知らなければ、ツールを起動することさえできない設計です。

このあたりは、運用との相談ですし、役職に応じた権限レベルの設定(管理者/一般)も可能です。

Step数の少ないVBAソースですので、是非、お試しください。

今回のテーマは、「ログイン&PW認証フォームの作り方」について、解説を行いました。

本記事が、Excel実務の効率化において、ご参考お役立てになれば幸いです。


全国対応!お気軽にお問い合わせください