2014-10-09 4 views
0

Можно ли защитить книгу 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, но я не сделал потому что в документации говорится, что он сохраняет файл.

Итак, есть ли способ установить пароль книги без сохранения файла, который будет применяться, когда пользователь сохранит его вручную после его изменений?

+0

Не могли бы вы предотвратить автоматические вычисления, сохранить, а затем снова включить автоматические вычисления? Таким образом, книга должна экономить быстрее. – Gareth

+1

Используйте свойство «Workbook.Password». – Rory

+0

Спасибо, Рори! Я полностью забыл проверить свойства рабочей книги в документации, поскольку я был сосредоточен только на функциях. Я могу подтвердить, что он работает без необходимости сохранения файла. Вы хотите написать свой комментарий в качестве ответа, чтобы я мог принять его? –

ответ

1

Вы можете использовать свойство Workbook.Password, которое считывает/записывает. Пароль будет применен при следующем сохранении файла.

Смежные вопросы