Можно ли защитить книгу Excel для открытия без использования метода SaveAs (без какого-либо способа сохранить файл)?VBA Password Protect Excel Workbook без сохранения
В настоящее время в нашем приложении мы используем метод SaveAs для сохранения и установки пароля после создания и заполнения книги. Для создания этой книги требуется некоторое время, так как мы используем много данных, и полученный файл довольно большой (120 МБ).
Мы искали способы ускорения генерации книги, и мы обнаружили, что метод SaveAs занимает около 3 минут, потому что требуется множество вычислений. После небольшой беседы с пользователями мы понимаем, что все вносят небольшие изменения в пользовательский интерфейс рабочей книги, так что им нужно снова сэкономить и ждать еще 3 минуты.
Мы решили подавить метод SaveAs и будем нести ответственность за сохранение книги после того, как закончим с их изменениями. И вот проблема, без SaveAs я не мог найти способ защитить файл паролем.
Я попытался Workbook.Protect, но, кажется, он только защищает структуру и окна от изменений, но не файл с открытия:
ActiveWorkbook.Protect Password:=cPwd, Structure:=True, Windows:=False
Я также нашел метод Workbook.ProtectSharing, но я не сделал потому что в документации говорится, что он сохраняет файл.
Итак, есть ли способ установить пароль книги без сохранения файла, который будет применяться, когда пользователь сохранит его вручную после его изменений?
Не могли бы вы предотвратить автоматические вычисления, сохранить, а затем снова включить автоматические вычисления? Таким образом, книга должна экономить быстрее. – Gareth
Используйте свойство «Workbook.Password». – Rory
Спасибо, Рори! Я полностью забыл проверить свойства рабочей книги в документации, поскольку я был сосредоточен только на функциях. Я могу подтвердить, что он работает без необходимости сохранения файла. Вы хотите написать свой комментарий в качестве ответа, чтобы я мог принять его? –