设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[OFFICE] Excel 已知VBA工程密码,用代码实现自动解密的方法

[复制链接]
跳转到指定楼层
楼主
发表于 2017-2-8 16:28:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  已知VBA工程密码为“123”,用代码实现自动解密VBA工程的方法

代码一,需要引用Microsoft Visual Basic For Application Extensibility 5.3


  1. Sub OpenVBPrjWithPassword()
  2. '引用 Microsoft Visual Basic For Application Extensibility 5.3
  3. Dim strPassWord As String
  4. '关闭VBE主窗口
  5. Application.VBE.MainWindow.Visible = False
  6. strPassWord = "123" '密码字符串
  7. '判断是否设置了工程保护,使用密码打开工程
  8. If ActiveWorkbook.VBProject.Protection = vbext_pp_locked Then
  9. Application.VBE.CommandBars.FindControl(ID:=2578).Execute
  10. SendKeys strPassWord & "{ENTER}{TAB}{ENTER}"
  11. DoEvents '更新工程状态
  12. End If
  13. '要执行其它的操作….
  14. '.....
  15. End Sub
复制代码

代码二,不需要引用

  1. Sub OpenVBPrjWithPassword()
  2. Dim strPassWord As String
  3. '关闭VBE主窗口
  4. Application.VBE.MainWindow.Visible = False
  5. strPassWord = "123" '密码字符串
  6. '判断是否设置了工程保护,使用密码打开工程
  7. If ActiveWorkbook.VBProject.Protection = 1 Then
  8. Application.VBE.CommandBars.FindControl(ID:=2578).Execute
  9. SendKeys strPassWord & "{ENTER}{TAB}{ENTER}"
  10. DoEvents '更新工程状态
  11. End If
  12. '要执行其它的操作….
  13. '.....
  14. End Sub
复制代码





回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-5-15 03:47 , Processed in 0.204327 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表