2013-04-02 12 views
2

Как открыть защищенную книгу (с паролем) из кода VBA? Я уже пробовал эту инструкциюКак открыть защищенную книгу из кода VBA?

Workbooks.Open Filename:="D:\file.xls", ReadOnly:=False, Password:="semsem" И это не работает. Есть ли какие-либо предложения по этой проблеме?
Примечание: Я использую EXcel2007.

+0

Он возвращает сообщение об ошибке? Чувствителен ли пароль? – MattCrum

+0

возвращает это сообщение: 'runtime error '50289' не выполняет эту операцию по мере защиты файла. –

+0

Пароль чувствителен к регистру. –

ответ

-1

Попробуйте следующее:

Workbooks.Open Filename:="D:\file.xlsx", Password:="semsem" 
+0

не работает. –

+0

проверьте расширение файла xls или xlsx –

+0

. Расширение моего файла - xls –

1

В Vba проекте вы защитить проект от просмотра? Если это так, я не думаю, что это будет достижимо, так как проект должен быть физически незащищенным, если вы хотите сделать какие-либо изменения кода. Это не помогает с точки программирования vba, но с точки зрения пользователя, свободной от вмешательства.

  1. Если вы не собираетесь редактировать код, я могу предложить вам оставить пароль.

  2. Если вы намерены изменить код, я могу предложить вам оставить проект незащищенным и попытаться защитить файл другим способом.

  3. Untested, но идея заключалась бы в том, чтобы программно создать лист с новым кодом в нем и скопировать этот лист в эту книгу.

Не очень помогает, но единственный ответ, который я могу предложить.

Чтобы вручную снять защиту:

  1. Если это когда-то выключено, дважды щелкните проект и ввести пароль и после завершения сохранения и закрытия проекта будет держать эту защиту. http://www.allaboutvba.vbapasswordremover.net/images/screen/protect-excelrun10.gif

  2. Или, если он будет постоянным, щелкните правой кнопкой мыши проект> свойства проекта> защитить и снимите флажок блокировки проекта для просмотра. http://www.allaboutvba.vbapasswordremover.net/images/screen/protect-excellock8.gif

Изображения из All About VBA

+0

Спасибо за ваш ответ, но я не знаю, как он защищен, и когда я вхожу в tools-> свойства VBA Project-> защиты, я нахожу пароль –

+0

Это означает, что проект защищен, но только от изменения кода. 'Password: =" "' не будет снимать защиту, он будет только защищать книгу так же, как использовать вкладку «Обзор» в приложении. – glh

+0

Мои извинения за сайт но это лучший ... [Защита и снятие защиты с рабочей книги] (http://www.dummies.com/how-to/content/how-to-protect-an-excel-2007-workbook.navId-323068. html) - это то, что для этого 'Password' существует. – glh

1

Если книга защищена паролем, он может быть открыт с помощью VBA. Но если макрос VBA защищен паролем, его нельзя открыть или контролировать с помощью VBA. Для целей безопасности это запрещено.

Один альтернативный вариант - передать события KeyPress для ввода пароля.

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