2

如何从 VBA 代码打开受保护的工作簿(带密码)?我已经尝试过这个指令

Workbooks.Open Filename:="D:\file.xls", ReadOnly:=False, Password:="semsem" 它不起作用。关于这个问题有什么建议吗?
注意:我使用 EXcel2007。

4

3 回答 3

1

在 vba 项目中,您是否保护项目不被查看?如果是这样,我认为这将无法实现,因为如果您想要进行任何代码更改,项目需要在物理上不受保护。从 vba 编程的角度来看,这无济于事,但从用户防篡改的角度来看,它确实有帮助。

  1. 如果您不打算编辑代码,我只能建议您留下密码。

  2. 如果您打算更改代码,我只能建议您让项目不受保护并尝试以另一种方式保护文件。

  3. 未经测试,但一个想法是以编程方式创建一个包含新代码的工作表并将此工作表复制到此工作簿中。

帮助不大,但我能提供的唯一答案。

要手动删除保护:

  1. 如果这是一次性的,双击项目并输入密码,一旦完成,保存并关闭项目将保持此保护。 http://www.allaboutvba.vbapasswordremover.net/images/screen/protect-excelrun10.gif

  2. 或者如果它是永久的,则右键单击项目>项目属性>保护并取消选中锁定项目以进行查看。 http://www.allaboutvba.vbapasswordremover.net/images/screen/protect-excellock8.gif

来自关于 VBA的图片

于 2013-04-02T10:00:34.910 回答
1

If a Workbook is password protected, it can be opened using VBA. But, If a VBA Macro is Password Protected, It cannot be opened or controlled from VBA. For security purpose this is not allowed.

One alternate option would be to pass KeyPress events to enter the password.

于 2014-06-16T06:20:43.190 回答
-1

尝试以下操作:

Workbooks.Open Filename:="D:\file.xlsx", Password:="semsem"
于 2013-04-02T09:31:45.623 回答