如何用EXCEL制作登錄界面
本期作品分享用EXCEL制作一個登錄界面,并且登錄後根據不同的用戶名獲取不同的權限。方便我們在工作中分享工作表時能夠将指定的内容進行隐藏。本期講解内容以最近發布的作品《生産計劃管理系統》為例進行講解。
1.1 依次點擊開發工具—Visual Basic(或使用快捷鍵Alt+F11)。
1.2 鼠标右鍵點擊空白處依次選擇插入—用戶窗體
1.3 将鼠标光标放在剛剛插入的窗體右下角,拖動窗體大小到合适尺寸為止。
1.4 選中窗體後點擊屬性(如下圖所示),打開窗體的屬性窗口。
1.5 打開屬性窗口後按下圖方式依次點擊“按分類序”、選擇“Caption”,将我們新建的窗體命名為“登錄界面”。如下圖所示。
1.6 插入背景圖片:點擊屬性“picture”位置最後的“…”符号,在彈出的窗口中選擇要插入的圖片。
1.7 在屬性窗口的PictureSizeMode設置背景圖片的模式,這裡選擇“1”。設置好後如下圖所示。
2.1選擇窗體後點擊如下圖所示的工具箱圖表,打開窗體控件工具箱。
2.2 選擇标簽控件後在窗體上拖動。
2.3 更改标簽的文字為“用戶名”。并在對應屬性窗口設置标簽文字的字體。
2.4 将标簽屬性的自動尺寸“AutoSize”設置為“TRUE”
2.5 将标簽屬性的背景“BackStyle”設置為0,将字體顔色ForeColor設置為baise。如下圖所示。
2.6 複制用戶名标簽,将屬性Caption改為“密碼”
2.7 選擇工具箱的文字框控件,并在窗體對應位置拖動。
2.8 按照上面的方式設置文字框的字體大小,并設置屬性窗口的“TextAlign”屬性為“2”,讓文字框的内容居中顯示。
2.9 複制一個文字框到密碼位置。将密碼輸入框的“PasswordChar”屬性輸入“*”号,這樣在輸入密碼時會以“*”号替代。
2.10 對齊:如下圖所示,選中文字框,将文字框對齊,并用同樣的方式對齊“用戶名”和“密碼”标簽。
3.1如圖所示,在工具箱選擇命令按鈕并在窗體上拖動生成。
3.2 更改命令按鈕屬性的Caption為登錄,并按前面的方式設置字體大小。
3.3 複制登錄按鈕,并改名為退出,如下圖所示。并按前面的方式調整對齊按鈕。
3.4 最後增加一個“生産計劃管理系統”的标簽。如下圖所示。
4.1 退出代碼:鼠标雙擊“退出”按鈕,輸入如下代碼
Private Sub CommandButton2_Click()
Unload Me
ThisWorkbook.Save
ThisWorkbook.Close
End Sub
4.2 登錄代碼:
4.2.1 首先新建一個用戶信息的工作表,并輸入下圖内容。用于用戶名和密碼的登錄。
4.3 雙擊“登錄”按鈕輸入如下代碼:(下方代碼用紅色字體注釋)
Private Sub CommandButton1_Click()
If TextBox1 = '' Or TextBox2 = '' Then
MsgBox '請先輸入用戶名和密碼!'
Exit Sub
End If
(以上代碼為判定用戶名和密碼框是否輸入内容,如果未輸入則退出宏并彈窗提醒)
Dim i As Integer
For i = 3 To 10
If Sheet2.Cells(i, 2) = TextBox1 And Sheet2.Cells(i, 3).Value = TextBox2.Value Then
If Sheet2.Cells(i, 4) = '管理員' Then
(判斷用戶屬性是否為“管理員”)
Application.Visible = True
Unload UserForm1
(關閉登錄界面)
Sheet2.Visible = True
Sheet3.Visible = True
Sheet4.Visible = True
Sheet1.CommandButton4.Enabled = True
Sheet1.CommandButton5.Enabled = True
Sheet1.CommandButton6.Enabled = True
Sheet1.CommandButton7.Enabled = True
(将所有按鍵啟用并顯示所有工作表)
Sheet1.Range('d3') = Sheet2.Cells(i, 2)
(将登錄用戶名顯示在主頁對應位置)
MsgBox '登錄成功!'
Exit Sub
End If
If Sheet2.Cells(i, 4) = '普通用戶' Then
(判斷用戶屬性是否為“普通用戶”)
Application.Visible = True
Unload UserForm1
(關閉登錄界面)
Sheet2.Visible = False
Sheet3.Visible = False
Sheet4.Visible = False
Sheet1.CommandButton4.Enabled = False
Sheet1.CommandButton5.Enabled = False
Sheet1.CommandButton6.Enabled = False
Sheet1.CommandButton7.Enabled = False
(将指定按鍵禁用并隐藏指定工作表)
Sheet1.Range('d3') = Sheet2.Cells(i, 2)
(将登錄用戶名顯示在主頁對應位置)
MsgBox '登錄成功'
Exit Sub
End If
End If
If Sheet2.Cells(i, 2) = TextBox1 And Sheet2.Cells(i, 3) <> TextBox2 Then
MsgBox '密碼錯誤'
TextBox2.Value = ''
End If
Next
(判斷用戶名和密碼是否一緻,不一緻彈窗提醒)
End Sub
4.4 将以上代碼都寫好後,接下來的工作就是如何實現我們打開EXCEL文件時自動顯示登錄界面。
首先鼠标雙擊Thisworkbook,并輸入一下代碼,如下圖所示。這樣在我們打開EXCEL文件時就能自動彈出登錄界面。
Private Sub Workbook_Open()
Application.Visible = False
UserForm1.Show
End Sub
有話要說...