本期作品分享用EXCEL制作一個(gè)登錄界面,并且登錄后根據(jù)不同的用戶名獲取不同的權(quán)限。方便我們在工作中分享工作表時(shí)能夠?qū)⒅付ǖ膬?nèi)容進(jìn)行隱藏。本期講解內(nèi)容以最近發(fā)布的作品《生產(chǎn)計(jì)劃管理系統(tǒng)》為例進(jìn)行講解。
1.1 依次點(diǎn)擊開發(fā)工具—Visual Basic(或使用快捷鍵Alt+F11)。 1.2 鼠標(biāo)右鍵點(diǎn)擊空白處依次選擇插入—用戶窗體 1.3 將鼠標(biāo)光標(biāo)放在剛剛插入的窗體右下角,拖動(dòng)窗體大小到合適尺寸為止。 1.4 選中窗體后點(diǎn)擊屬性(如下圖所示),打開窗體的屬性窗口。 1.5 打開屬性窗口后按下圖方式依次點(diǎn)擊“按分類序”、選擇“Caption”,將我們新建的窗體命名為“登錄界面”。如下圖所示。 1.6 插入背景圖片:點(diǎn)擊屬性“picture”位置最后的“…”符號(hào),在彈出的窗口中選擇要插入的圖片。 1.7 在屬性窗口的PictureSizeMode設(shè)置背景圖片的模式,這里選擇“1”。設(shè)置好后如下圖所示。
2.1選擇窗體后點(diǎn)擊如下圖所示的工具箱圖表,打開窗體控件工具箱。 2.2 選擇標(biāo)簽控件后在窗體上拖動(dòng)。 2.3 更改標(biāo)簽的文字為“用戶名”。并在對應(yīng)屬性窗口設(shè)置標(biāo)簽文字的字體。 2.4 將標(biāo)簽屬性的自動(dòng)尺寸“AutoSize”設(shè)置為“TRUE” 2.5 將標(biāo)簽屬性的背景“BackStyle”設(shè)置為0,將字體顏色ForeColor設(shè)置為baise。如下圖所示。 2.6 復(fù)制用戶名標(biāo)簽,將屬性Caption改為“密碼” 2.7 選擇工具箱的文字框控件,并在窗體對應(yīng)位置拖動(dòng)。 2.8 按照上面的方式設(shè)置文字框的字體大小,并設(shè)置屬性窗口的“TextAlign”屬性為“2”,讓文字框的內(nèi)容居中顯示。 2.9 復(fù)制一個(gè)文字框到密碼位置。將密碼輸入框的“PasswordChar”屬性輸入“*”號(hào),這樣在輸入密碼時(shí)會(huì)以“*”號(hào)替代。 2.10 對齊:如下圖所示,選中文字框,將文字框?qū)R,并用同樣的方式對齊“用戶名”和“密碼”標(biāo)簽。
3.1如圖所示,在工具箱選擇命令按鈕并在窗體上拖動(dòng)生成。 3.2 更改命令按鈕屬性的Caption為登錄,并按前面的方式設(shè)置字體大小。 3.3 復(fù)制登錄按鈕,并改名為退出,如下圖所示。并按前面的方式調(diào)整對齊按鈕。 3.4 最后增加一個(gè)“生產(chǎn)計(jì)劃管理系統(tǒng)”的標(biāo)簽。如下圖所示。
4.1 退出代碼:鼠標(biāo)雙擊“退出”按鈕,輸入如下代碼 Private Sub CommandButton2_Click() Unload Me ThisWorkbook.Save ThisWorkbook.Close End Sub 4.2 登錄代碼: 4.2.1 首先新建一個(gè)用戶信息的工作表,并輸入下圖內(nèi)容。用于用戶名和密碼的登錄。 4.3 雙擊“登錄”按鈕輸入如下代碼:(下方代碼用紅色字體注釋) Private Sub CommandButton1_Click() If TextBox1 = '' Or TextBox2 = '' Then MsgBox '請先輸入用戶名和密碼!' Exit Sub End If (以上代碼為判定用戶名和密碼框是否輸入內(nèi)容,如果未輸入則退出宏并彈窗提醒) 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 (關(guān)閉登錄界面) 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) (將登錄用戶名顯示在主頁對應(yīng)位置) MsgBox '登錄成功!' Exit Sub End If If Sheet2.Cells(i, 4) = '普通用戶' Then (判斷用戶屬性是否為“普通用戶”) Application.Visible = True Unload UserForm1 (關(guān)閉登錄界面) 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) (將登錄用戶名顯示在主頁對應(yīng)位置) MsgBox '登錄成功' Exit Sub End If End If If Sheet2.Cells(i, 2) = TextBox1 And Sheet2.Cells(i, 3) <> TextBox2 Then MsgBox '密碼錯(cuò)誤' TextBox2.Value = '' End If Next (判斷用戶名和密碼是否一致,不一致彈窗提醒) End Sub 4.4 將以上代碼都寫好后,接下來的工作就是如何實(shí)現(xiàn)我們打開EXCEL文件時(shí)自動(dòng)顯示登錄界面。 首先鼠標(biāo)雙擊Thisworkbook,并輸入一下代碼,如下圖所示。這樣在我們打開EXCEL文件時(shí)就能自動(dòng)彈出登錄界面。 Private Sub Workbook_Open() Application.Visible = False UserForm1.Show End Sub |
|