如何从VBA代码中打开受保护的工作簿(带密码)? 我已经尝试过这个指令了
Workbooks.Open Filename:="D:\file.xls", ReadOnly:=False, Password:="semsem"
它不起作用。
有没有关于这个问题的建议?
注意:我使用的是EXcel2007。
答案 0 :(得分:1)
在vba项目中,您是否保护项目不被查看?如果是这样,我不认为这是可以实现的,因为如果您想要进行任何代码更改,项目需要在物理上不受保护。这对于vba编程点没有帮助,但是从用户无篡改的角度来看也是如此。
如果您不打算编辑代码,我只建议您保留密码。
如果您打算更改代码,我只能建议您保护项目不受保护,并尝试以其他方式保护文件。
未经测试但想法是以编程方式创建包含新代码的工作表,并将此工作表复制到此工作簿中。
没什么帮助,但我能提供的唯一答案。
手动删除保护:
如果这是一次性的,双击项目并输入密码,一旦完成,保存并关闭项目将保持这种保护。
或者如果它是永久性的,则右键单击项目>项目属性>保护并取消选中锁定项目以供查看。
答案 1 :(得分:1)
如果工作簿受密码保护,则可以使用VBA打开它。 但是,如果VBA宏受密码保护,则无法从VBA打开或控制它。出于安全目的,这是不允许的。
另一种选择是传递KeyPress事件以输入密码。
答案 2 :(得分:-1)
尝试以下方法:
Workbooks.Open Filename:="D:\file.xlsx", Password:="semsem"