為了保護(hù)Excel工作表,有時(shí)需要對(duì)工作表的打開(kāi)設(shè)置權(quán)限,這就需要?jiǎng)?chuàng)建用戶(hù)登錄界面。在Excel中,制作用戶(hù)登錄窗口的方式很多,使用控件是其中的一種重要方法。本文介紹使用VBA窗體控件、文本框控件和按鈕控件等來(lái)制作用戶(hù)登錄窗口的方法。 1、啟動(dòng)Excel并打開(kāi)工作表,打開(kāi)Visual Basic編輯器,在工程資源管理器中鼠標(biāo)右擊,選擇關(guān)聯(lián)菜單中的“插入”|“用戶(hù)窗體”命令插入一個(gè)用戶(hù)窗體。按F4鍵打開(kāi)“屬性”對(duì)話(huà)框,在"Caption"文本框中輸入文字“用戶(hù)登錄”更改窗體標(biāo)題,如圖1所示。
圖1 創(chuàng)建用戶(hù)窗體并設(shè)置其屬性 2、從“工具箱”對(duì)話(huà)框中分別選擇“文本框”控件、“標(biāo)簽”控件和“命令按鈕”控件,在窗體中繪制這些控件,如圖2所示。在“屬性”對(duì)話(huà)框中將兩個(gè)“標(biāo)簽”控件的"Caption"屬性分別設(shè)置為“登錄名”和“登錄密碼”,將“命令按鈕”控件的"Caption"屬性分別設(shè)置為“確定”和“取消”,如圖3所示。
圖2 向窗體中添加控件
圖3 修改控件的 3、在窗體中選擇第二個(gè)“文本框”控件,在“屬性”對(duì)話(huà)框中將"PasswordChar"屬性設(shè)置為字符“*”,如圖4所示。這樣,在該文本框中輸入的字符將被“*”替代。
圖4 更改“文本框”控件的 4、鼠標(biāo)右擊窗體中的“確定”按鈕,選擇關(guān)聯(lián)菜單中的“查看代碼”命令打開(kāi)“代碼”窗口,此時(shí)Visual Basic編輯器將自動(dòng)在“代碼”窗口中為控件添加Click事件。為該按鈕添加的Click事件程序如下: Private Sub CommandButton1_Click() If TextBox1.Text<>"郭軼凡"Then '判斷用戶(hù)名是否正確 MsgBox"用戶(hù)登錄名錯(cuò)誤,您無(wú)權(quán)登錄!" '不正確給出提示 With TextBox1 .SelStart=0 '設(shè)置選擇文字的開(kāi)始字符 .SelLength=Len(TextBox1.Text) '設(shè)置選擇文本的長(zhǎng)度 .SetFocus '文本框獲得焦點(diǎn) End With ElseIf TextBox2.Text<>"abcdef "Then '如果密碼錯(cuò)誤 MsgBox"密碼輸入錯(cuò)誤,請(qǐng)重新輸入!" '給出提示 With TextBox2 .SelStart=0 '設(shè)置選擇文本的開(kāi)始字符 .SelLength=Len(TextBox2.Text) '設(shè)置選擇文本的長(zhǎng)度 .SetFocus '獲得焦點(diǎn) End With Else MsgBox"登錄成功,歡迎你的到來(lái)!" '登錄成功提示 Unload Me '卸載窗體 End If End Sub 提示 在這里,程序首先判斷第一個(gè)文本框的Text屬性值是否為設(shè)定的用戶(hù)名,如果不是則給出提示,同時(shí)使用With結(jié)構(gòu)設(shè)置非常關(guān)鍵的SelStart屬性和SelLength屬性,使文本框中的文字能夠高亮顯示。同時(shí),使用SetFocus方法使文本框獲得焦點(diǎn)以方便用戶(hù)更改用戶(hù)名。如果輸入的是設(shè)定的用戶(hù)名,程序接著判斷第二個(gè)文本框中的Text屬性值是否是設(shè)定的密碼,如果不是則執(zhí)行與用戶(hù)名錯(cuò)誤相同的操作。如果用戶(hù)名和密碼均正確,程序給出提示并卸載窗體。 5、接著在“代碼”窗口中輸入程序代碼,為“取消”按鈕添加Click事件代碼,具體程序如下所示: Private Sub CommandButton2_Click() Unload Me '卸載窗體 ThisWorkbook.Close '關(guān)閉工作簿 End Sub 6、按F5鍵運(yùn)行程序出現(xiàn)“用戶(hù)登錄”窗口,在“登錄名”文本框中輸入人名,如果非授權(quán)用戶(hù),程序給出提示,如圖4所示。單擊“確定”按鈕關(guān)閉提示對(duì)話(huà)框后,“登錄名”文本框獲得焦點(diǎn),在其中輸入正確登錄名。在“登錄密碼”文本框中輸入密碼,如果密碼錯(cuò)誤,程序給出提示,如圖5所示。如果輸入正確的用戶(hù)名和登錄密碼,程序提示登錄成功,如圖6所示。單擊“確定”按鈕關(guān)閉對(duì)話(huà)框,“用戶(hù)登錄”窗體將關(guān)閉。
圖5 登錄名輸入錯(cuò)誤提示
圖6 密碼輸入錯(cuò)誤提示
圖7 登錄成功提示 7、在工程資源管理器中雙擊"ThisWorkbook"選項(xiàng)打開(kāi)“代碼”窗口,在其中輸入如下程序代碼使工作簿打開(kāi)時(shí)用戶(hù)窗體可見(jiàn)。切換到Excel,保存文檔,完成本實(shí)例的制作。 Private Sub Workbook_Open() UserForm1.Show End Sub 更多相關(guān)閱讀 |
|