使文本框中的文字能够高亮显示

为了保护Excel工作表 , 有时需要对工作表的打开设置权限 , 这就需要创建用户登录界面 。在Excel中 , 制作用户登录窗口的方式很多 , 使用控件是其中的一种重要方法 。本文介绍使用VBA窗体控件、文本框控件和按钮控件等来制作用户登录窗口的方法 。
1、启动Excel并打开工作表 , 打开Visual Basic编辑器 , 在工程资源管理器中鼠标右击 , 选择关联菜单中的“插入”|“用户窗体”命令插入一个用户窗体 。按F4键打开“属性”对话框 , 在”Caption”文本框中输入文字“用户登录”更改窗体标题 , 如图1所示 。
图1 创建用户窗体并设置其属性
2、从“工具箱”对话框中分别选择“文本框”控件、“标签”控件和“命令按钮”控件 , 在窗体中绘制这些控件 , 如图2所示 。在“属性”对话框中将两个“标签”控件的”Caption”属性分别设置为“登录名”和“登录密码” , 将“命令按钮”控件的”Caption”属性分别设置为“确定”和“取消” , 如图3所示 。
图2 向窗体中添加控件
图3 修改控件的
3、在窗体中选择第二个“文本框”控件 , 在“属性”对话框中将”PasswordChar”属性设置为字符“*” , 如图4所示 。这样 , 在该文本框中输入的字符将被“*”替代 。
图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所示 。单击“确定”按钮关闭对话框 , “用户登录”窗体将关闭 。

    推荐阅读