这是一个学习VBA程序设计的优秀案例,基于Excel宏语言VBA设计的密码登录窗,经测试已无Bug,特色是窗体能置顶显示,密码验证通过后将自动打开另外一个经密码保护的工作簿,代码经简单修改便可移植使用。代码设计简洁,执行效率高,这是作者花了将近一个月的时间研究出来的成果,如果你能在一天内读懂里面的代码,你就能在一天内成为VBA程序设计的半个高手,不用再步作者后尘,得花上一个月的时间来研究,大大提高新手的学习效率。

如需完整窗体设计代码,请点击这里下载,内含窗体设计样例,附有详细的代码注释,对于新手更加容易读懂代码的含义,快速提示VBA程序的设计水平。

ThisWorkbook代码:

Public DataBaseFile As String, DataBasePath As String, LoginPassWord As String, BasePassWord As String
Private Sub Workbook_Open()Application.Visible = FalseDataBaseFile = "DataBase.xlsm"
DataBasePath = ThisWorkbook.path & "\" & DataBaseFile
LoginPassWord = "123456"
BasePassWord = "12345678"Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.fileExists(DataBasePath) ThenUserForm1.ShowElseMsgBox DataBaseFile & " 数据库文件丢失,请重新安装本程序!", vbExclamation, "错误"
End If
End Sub

窗体UserForm1代码:

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_TOPMOST = -1
Private Const SWP_NOMOVE = 2
Private Const SWP_NOSIZE = 1
Dim hWnd As Long
Private Sub UserForm_Initialize()hWnd = FindWindow(vbNullString, Me.Caption)SetWindowPos hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
End Sub
Private Sub userform_queryclose(Cancle As Integer, colsemode As Integer)If colsemode = 0 Then ThisWorkbook.Close
End Sub
Private Sub CommandButton1_Click()On Error Resume NextIf TextBox1.Value = ThisWorkbook.LoginPassWord ThenUserForm1.HideWorkbooks.Open Filename:=ThisWorkbook.DataBasePath, Password:=ThisWorkbook.BasePassWordIf Err Then MsgBox ThisWorkbook.DataBaseFile & " 数据库打开失败,请联系程序管理员!", vbExclamation, "错误": ThisWorkbook.CloseWorkbooks(ThisWorkbook.DataBaseFile).Application.Visible = TrueThisWorkbook.CloseElseMsgBox "密码不正确,请重新输入!", vbInformation, "提示"TextBox1.Value = ""TextBox1.SetFocusEnd IfOn Error GoTo 0
End Sub
Private Sub CommandButton2_Click()ThisWorkbook.Close
End Sub
Private Sub CommandButton3_Click()If CommandButton3.Caption = "显示密码" ThenCommandButton3.Caption = "隐藏密码"TextBox1.PasswordChar = ""ElseCommandButton3.Caption = "显示密码"TextBox1.PasswordChar = "*"End IfTextBox1.SetFocus
End Sub

完美Excel密码登录窗(可移植)相关推荐

  1. 完美邮箱(@88.com/@111.com/email.cn):专用密码登录

    完美邮箱该怎么在第三方客户客户端上进行登录使用? 完美邮箱包含以下几个域名:@88.com/@111.com/@email.cn,出于安全方面的考虑,完美的邮局限制了密码直接,在第三方客户端登录时(如 ...

  2. 谷粒商城笔记+踩坑(17)——【认证模块】登录,用户名密码登录+微博社交登录+SpringSession+xxl-sso单点登录

    导航: 谷粒商城笔记+踩坑汇总篇 目录 5. 用户名密码登录 5.1[认证模块]登录业务 5.1.1 模型类,接收用户名密码 5.1.2 feign客户端新增登录功能 5.1.3 LoginContr ...

  3. 史上最简单的Spring Security教程(二十八):CA登录与默认用户名密码登录共存详细实现及配置

    ​在前面的文章中,我们自定义了一些CA登录相关的类,如 CertificateAuthorityAuthenticationToken.CertificateAuthorityAuthenticati ...

  4. SVN 常见4种 无法弹出登录窗

    1.右键设置 -缓存数据-清除已经保存的密码: 2.删除本地配置文件     访问C:\Users\Administrator\AppData\Roaming\Subversion\auth目录:(不 ...

  5. excel密码忘记了怎么办

    2019独角兽企业重金招聘Python工程师标准>>> Excel电子表格应用程序堪称Office中的"王牌应用",能够快速灵活地整理各种大数据,在各行各业中发挥 ...

  6. kail 暴力破解excel密码

    excel密码破解 闲来无事,打开桌面上一个excel,居然需要密码,我靠,这是什么玩意,激起了我的好奇心,要不打打开,于是找出来闲来很久的KAIL,无所不能的linux系统 1.安装kail lin ...

  7. ssh免密码登录的原理

    工作第一天,就需要登录各种服务器,免密码登录无疑能大大的提高工作效率.以前只知道配置,今天了解了下原理. 免密码登录原理 图解,server A免登录到server B: 1.在A上生成公钥私钥. 2 ...

  8. 解决phpmyadmin3.4空密码登录被禁止登陆的方法

    很多时候我们在本机测试时会将root用户密码设置为空.因为我把php升级到了5.3.1,以前的phpmyadmin版本不能用了,就升级到phpMyAdmin 3.2.4版的时候,会遇到无法以空密码登录 ...

  9. 修改密码后服务器断开连接,SSH无需密码登录服务器且保持连接不断开的方法

    SSH无需密码登录服务器 Mac 无密码 SSH 登录服务器,只需要简单三步,不再需要记住账号密码,快速进入服务器 测试H1 dfsdfsf 测试H2 dfsdfsf 测试H3 dfsdfsf 测试H ...

最新文章

  1. Redis (二)_ jedis的使用
  2. SpringBoot 注解方式快速整合Mybatis
  3. DARPA 2020财年研发预算 人工智能应用研究投资急剧增长
  4. 对查找的结果进行删除
  5. HBase数据压缩编码探索
  6. 路由协议:RIP/OSPF/BGP—Vecloud微云
  7. 吐血总结:AQS到底是什么?
  8. 计算机视觉与深度学习 | 遗传算法(GA)的MATLAB实现(源代码)
  9. ​【机器学习】数据科学中 17 种相似性和相异性度量(上)
  10. 试用GitHub Copilot一周后,我给你的建议是:不要使用它
  11. Python批量导入图片生成能治疗颈椎病的HTML5版课件
  12. C++/Qt中文显示乱码与string/wstring/wchar_t转换
  13. 【Redis】《Redis 开发与运维》笔记-Chapter10-集群
  14. 对四旋翼飞行器的分析
  15. 抖音短视频如何去水印
  16. 超信Linux版(超信 for Linux下载) v1.3.0官方版
  17. 微服务架构如何进行解耦?
  18. Java 代码分享(第4篇),绘制迷宫2 绘制起点终点和路径
  19. 天津春考计算机知识,2014天津春季高考计算机基础考试大纲
  20. 天地图web叠加WMS服务

热门文章

  1. ps巧用蒙版抠出头发边缘
  2. Nginx是什么?有哪些优点?
  3. php 数组相加和合并,php数组合并、追加与连接的方法(array_merge()、array_combine()函数)...
  4. ASCII简介及不经过比较转换字母大小写。
  5. 计算机的英语谚语,英语谚语Proverbs2.doc
  6. 安徽省计算机设计大赛作品点评,全国儿童创意小书大赛优秀作品展示及点评
  7. 如何做好企业的设备管理?管理者注意了!
  8. 【Mac】报错:已损坏,无法打开。 您应该将它移到废纸篓。
  9. 518抽奖软件源码之:主窗口上含对话框时如何最小化
  10. LOL2月26服务器维护,LOL2月26日维护到几点_lol2月26日停机更新公告