可以使用密码保护excel工作簿,而无需使用SaveAs方法(没有任何保存文件的方法)?
目前在我们的应用程序中,我们使用SaveAs方法在生成工作簿并填充数据后保存和设置密码。这个工作簿的生成需要一段时间,因为我们使用大量数据并且生成的文件非常大(120MB)。
我们正在寻找一些加速工作簿生成的方法,我们发现SaveAs方法需要大约3分钟才能完成,因为需要计算很多公式。在与用户进行了一次小谈话之后,我们意识到每个人都会对工作簿的UI进行一些小改动,然后他们需要再次保存并等待另外3分钟。
我们决定取消SaveAs方法,并且用户有责任在完成更改后保存工作簿。这就是问题,如果没有SaveAs,我找不到用密码保护文件的方法。
我已经尝试过Workbook.Protect,但它似乎只保护结构和窗口不受更改但不保护文件的打开:
ActiveWorkbook.Protect Password:=cPwd, Structure:=True, Windows:=False
我还找到了Workbook.ProtectSharing方法,但我没试过,因为文档说它保存了文件。
那么,有没有办法设置工作簿密码而不保存用户在更改后手动保存的文件?
答案 0 :(得分:1)
您可以使用{/ 1}}属性,即读/写。密码将在下次保存文件时应用。