2014-10-09 106 views
0

可以在不使用SaveAs方法(不使用任何方法保存文件)的情況下密碼保護打開的Excel工作簿?無需保存VBA密碼保護Excel工作簿

當前在我們的應用程序中,我們使用SaveAs方法保存並設置工作簿生成並填充數據後的密碼。由於我們使用大量數據並且生成的文件非常大(120MB),所以此工作簿的生成需要一段時間。

我們正在尋找一些加速工作簿生成的方法,並且我們發現SaveAs方法需要大約3分鐘才能完成,因爲需要計算大量公式。經過與用戶的小談後,我們意識到每個人都會對工作簿的用戶界面做一些小改動,所以他們需要再次保存並等待另外3分鐘。

我們決定取消SaveAs方法,並且將在用戶完成其更改後保存工作簿。這裏是問題,沒有SaveAs,我找不到用密碼保護文件的方法。

我已經試過Workbook.Protect但現在看來,這不僅保護了結構和變化的窗口,不支持將文件從開口道:

ActiveWorkbook.Protect Password:=cPwd, Structure:=True, Windows:=False 

我還發現了Workbook.ProtectSharing方法,但我沒有因爲文檔說它保存了文件。

那麼,有沒有辦法設置工作簿密碼,而不保存將在用戶更改後手動保存時應用的文件?

+0

你可以防止自動計算,保存然後重新啓用自動計算?這樣的工作簿應該更快地保存。 – Gareth 2014-10-09 09:47:48

+1

使用'Workbook.Password'屬性。 – Rory 2014-10-09 09:52:51

+0

謝謝Rory!我完全忘了檢查文檔中Workbook的屬性,因爲我只專注於函數。我可以確認它正在工作,無需保存文件。你想寫你的評論作爲答案,所以我可以接受它嗎? – 2014-10-09 11:58:34

回答

1

您可以使用Workbook.Password屬性,它是可讀/寫的。密碼將在下次保存文件時應用。

相關問題