VBA实战技巧:正确登录后才能使用Excel工作簿
Excel 使用 技巧 实战 正确 登录 工作 vba
2023-06-13 09:15:12 时间
当你打开这个工作簿时,Excel会弹出一个登录框,如下图1所示。当你输入正确的用户名和密码后,才能使用这个工作簿,否则会退出。
图1
这个工作簿中有一个名为“用户中心”的工作表,用来存放用户名、密码等信息,如下图2所示。
图2
打开VBE,插入一个用户窗体,在其中放置标签、文本框、按钮等控件,并将相关控件命名。如下图3所示,用户窗体命名为login,两个文本框分别命名为:txtUserName和txtPassword,两个按钮分别命名为:btnOK和btnCancel。
图3
双击用户窗体进入其代码窗口,输入下面的代码:
Private Sub btnCancel_Click()
ThisWorkbook.Close SaveChanges:=False
End Sub
Private Sub btnOK_Click()
Dim iFoundPass As Integer
On Error Resume Next
With Sheets("用户中心").Range("UserName")
iFoundPass = .Find(What:=txtUserName, After:=.Cells(1, 1),LookIn:=xlValues, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Row
End With
On Error GoTo 0
If iFoundPass = 0 Then
SomethingWrong
Exit Sub
End If
If Sheets("用户中心").Cells(iFoundPass,2) <> txtPassword Then
SomethingWrong
Exit Sub
ElseIf Sheets("用户中心").Cells(iFoundPass,3) < Date Then
Expired
Exit Sub
End If
Sheets("用户中心").Range("LoggedAs")= txtUserName
Unload Me
End Sub
Private Sub txtPassword_Change()
btnOK.Enabled = (txtUserName.TextLength > 4 And _
txtPassword.TextLength> 4)
End Sub
Private Sub UserForm_Initialize()
Me.btnOK.BackStyle = fmBackStyleTransparent
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer,CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub
Private Sub txtUserName_Change()
btnOK.Enabled= (txtUserName.TextLength > 4 And _
txtPassword.TextLength> 4)
End Sub
Private Sub SomethingWrong()
MsgBox"用户名或密码不正确.",vbCritical + vbInformation, "错误"
End Sub
Private Sub Expired()
MsgBox"你的许可已过期.请联系申请延期或完全许可",vbCritical + vbInformation, "完美Excel"
End Sub
双击ThisWorkbook模块,在其代码窗口中输入下面的代码:
Private Sub Workbook_Open()
Application.EnableCancelKey = xlDisabled
Sheets("数据").Activate
Sheets("用户中心").Visible= xlVeryHidden
login.Show
End Sub
关闭工作簿,重新打开,会弹出上图1所示的登录窗口。
注:建议你动手按照文中的介绍实现图1所示的效果。当然,如果想下载示例工作簿,请到知识星球完美Excel社群中下载。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
相关文章
- 将Excel转换为word_excel如何将横排变成竖排
- 管家婆软件数据导出Excel表后数据错乱的解决办法
- sql2java-excel(一):基于apache poi实现数据库表的导出及支持spring web
- EXCEL日期数据录入技巧,使用日期下拉菜单
- Python处理Excel数据-pandas篇
- origin做上下柱状图_利用excel制作柱状图
- 记使用EasyPoi(poi)导出Excel遇到的问题-firstMovedIndex,lastMovedIndex out of order
- 【说站】Excel如何快速删除空行?WPS删除excel空白行
- 利用excel与Pandas完成实现数据透视表
- 在Excel中自定义上下文菜单(上)
- 使用Python对Excel数据进行排序,更高效!
- Excel公式技巧:使用OFFSET函数对数据块进行拆分和连接
- Excel实战技巧:使用日期/时间值
- Python与Excel:使用xlwings打开Excel文件
- 使用Python根据原始Excel表格批量生成目标Excel表格
- 使用Python批量筛选上千个Excel文件中的某一行数据并另存为新Excel文件(下篇)
- MS Office软件使用技巧 —— Excel篇-office 软件全版本软件下载地址
- Excel实战技巧:如何使用Excel数据表创建蒙特卡罗模型和预测
- 使用apathe的poi.jar读取Excel文件详解编程语言
- java使用POI操作excel文件,实现批量导出,和导入详解编程语言
- 使用POI操作Excel时对事先写入模板的公式强制执行详解编程语言
- 使用POI生成Excel文件,可以自动调整excel列宽详解编程语言
- excel数据分析:SPSS、MySQL和Excel(spssmysql)
- 使用Excel快速读取MySQL数据(excel读取mysql)
- phpexcel导入excel数据使用方法实例
- c#读写excel文件使用示例