回覆列表
  • 1 # 小楊阿

    為了保護Excel工作表,有時需要對工作表的開啟設定許可權,這就需要建立使用者登入介面。在Excel中,製作使用者登入視窗的方式很多,使用控制元件是其中的一種重要方法。本文介紹使用VBA窗體控制元件、文字框控制元件和按鈕控制元件等來製作使用者登入視窗的方法。 1、啟動Excel並開啟工作表,開啟Visual Basic編輯器,在工程資源管理器中滑鼠右擊,選擇關聯選單中的“插入”|“使用者窗體”命令插入一個使用者窗體。按F4鍵開啟“屬性”對話方塊,在"Caption"文字框中輸入文字“使用者登入”更改窗體標題,如圖1所示。 建立使用者窗體並設定其屬性 2、從“工具箱”對話方塊中分別選擇“文字框”控制元件、“標籤”控制元件和“命令按鈕”控制元件,在窗體中繪製這些控制元件,如圖2所示。在“屬性”對話方塊中將兩個“標籤”控制元件的"Caption"屬性分別設定為“登入名”和“登入密碼”,將“命令按鈕”控制元件的"Caption"屬性分別設定為“確定”和“取消”, 向窗體中新增控制元件 修改控制元件的 3、在窗體中選擇第二個“文字框”控制元件,在“屬性”對話方塊中將"PasswordChar"屬性設定為字元“*”,如圖4所示。這樣,在該文字框中輸入的字元將被“*”替代。 更改“文字框”控制元件的 4、滑鼠右擊窗體中的“確定”按鈕,選擇關聯選單中的“檢視程式碼”命令開啟“程式碼”視窗,此時Visual Basic編輯器將自動在“程式碼”視窗中為控制元件新增Click事件。為該按鈕新增的Click事件程式如下: Private Sub CommandButton1_Click() If TextBox1.Text<>"郭軼凡"Then "判斷使用者名稱是否正確 MsgBox"使用者登入名錯誤,您無權登入!" "不正確給出提示 With TextBox1 .SelStart=0 "設定選擇文字的開始字元 .SelLength=Len(TextBox1.Text) "設定選擇文字的長度 .SetFocus "文字框獲得焦點 End With ElseIf TextBox2.Text<>"abcdef "Then "如果密碼錯誤 MsgBox"密碼輸入錯誤,請重新輸入!" "給出提示 With TextBox2 .SelStart=0 "設定選擇文字的開始字元 .SelLength=Len(TextBox2.Text) "設定選擇文字的長度 .SetFocus "獲得焦點 End With Else MsgBox"登入成功,歡迎你的到來!" "登入成功提示 Unload Me "解除安裝窗體 End If End Sub 提示 在這裡,程式首先判斷第一個文字框的Text屬性值是否為設定的使用者名稱,如果不是則給出提示,同時使用With結構設定非常關鍵的SelStart屬性和SelLength屬性,使文字框中的文字能夠高亮顯示。同時,使用SetFocus方法使文字框獲得焦點以方便使用者更改使用者名稱。如果輸入的是設定的使用者名稱,程式接著判斷第二個文字框中的Text屬性值是否是設定的密碼,如果不是則執行與使用者名稱錯誤相同的操作。如果使用者名稱和密碼均正確,程式給出提示並解除安裝窗體。 5、接著在“程式碼”視窗中輸入程式程式碼,為“取消”按鈕新增Click事件程式碼,具體程式如下所示: Private Sub CommandButton2_Click() Unload Me "解除安裝窗體 ThisWorkbook.Close "關閉工作簿End Sub 6、按F5鍵執行程式出現“使用者登入”視窗,在“登入名”文字框中輸入人名,如果非授權使用者,程式給出提示,如圖4所示。單擊“確定”按鈕關閉提示對話方塊後,“登入名”文字框獲得焦點,在其中輸入正確登入名。在“登入密碼”文字框中輸入密碼,如果密碼錯誤,程式給出提示,如圖5所示。如果輸入正確的使用者名稱和登入密碼,程式提示登入成功,如圖6所示。單擊“確定”按鈕關閉對話方塊,“使用者登入”窗體將關閉。 登入名輸入錯誤提示 密碼輸入錯誤提示 登入成功提示 7、在工程資源管理器中雙擊"ThisWorkbook"選項開啟“程式碼”視窗,在其中輸入如下程式程式碼使工作簿開啟時使用者窗體可見。切換到Excel,儲存文件,完成本例項的製作。 Private Sub Workbook_Open() UserForm1.Show End Sub

  • 中秋節和大豐收的關聯?
  • 蘑菇的蘑菇根有營養還是蘑菇傘有營養?