Страницы: 1
RSS
Обращение к диалогу ввода пароля на открытие книги с помощью макроса
 
Уважаемые эксперты!  
У меня возник вопрос, на который не смог найти ответ нигде.  
В созданном документе нет секретной информации, но свои наработки желания раздавать нет.  
Поэтому для того чтобы им не могли воспользоваться в другом месте, я поставил пароль на открытие файла. Но поскольку приходится им пользоваться часто, каждый раз при открытии вводить пароль, мягко скажем, не удобно.  
Возможно ли каким-то образом заставить макрос, который записан в личной книге и начинает работу сразу после запуска Excel (Auto_Open()), автоматически вводить пароль на открытие документа?
 
Не очень понятно: запустили приложение, а ещё никакая рабочая книга не открыта - куда адресовать пароль? Может быть есть смысл привязать файл к имени пользователя, имени компьютера, жёсткого диска и .т.д. Подобные темы рассматривались.
 
{quote}{login=Юрий М}{date=26.12.2010 06:18}{thema=}{post}Не очень понятно: запустили приложение, а ещё никакая рабочая книга не открыта - куда адресовать пароль? Может быть есть смысл привязать файл к имени пользователя, имени компьютера, жёсткого диска и .т.д. Подобные темы рассматривались.{/post}{/quote}  
 
В данном случае привязать не получится по ряду причин. А если никакая книга не открыта, то макрос ведь может ничего не делать, а если диалог ввода пароля все-таки появится, то ввести данные и нажать OK.  
Здесь меня больше всего интересует каким образом макрос может обратиться к этому диалогу и ввести данные.
 
Смотрите: Вы защитили паролем какой-то конкретный документ, и хотите, чтобы при открытии у Вас не запрашивался пароль. Допустим, это сделано. Как Excel узнает, что это именно Вы открываете файл? Ведь он откроется в любом случае. Где же тут защита?
 
{quote}{login=Юрий М}{date=26.12.2010 06:46}{thema=}{post}Смотрите: Вы защитили паролем какой-то конкретный документ, и хотите, чтобы при открытии у Вас не запрашивался пароль. Допустим, это сделано. Как Excel узнает, что это именно Вы открываете файл? Ведь он откроется в любом случае. Где же тут защита?{/post}{/quote}  
Мне важно, чтоб им нельзя было пользоваться в другом месте. Ведь там в случае если его скопировать (или сохранить как), пароль на открытие будет запрашиваться.  
Буду очень благодарен за поддержку.
 
Я обычно делаю так: (если путь к документу известен, и не меняется)  
 
1) пишу макрос (к примеру, в личную книгу макросов), который открывает указанный файл с использованием прописанного в макросе пароля.  
2) назначаю этому макросу комбинацию клавиш, или кнопку на панели инструментов.  
 
теперь достаточно нажать одну кнопку - и запароленный файл открыт
 
{quote}{login=EducatedFool}{date=26.12.2010 07:03}{thema=}{post}Я обычно делаю так: (если путь к документу известен, и не меняется)  
 
1) пишу макрос (к примеру, в личную книгу макросов), который открывает указанный файл с использованием прописанного в макросе пароля.  
2) назначаю этому макросу комбинацию клавиш, или кнопку на панели инструментов.  
 
теперь достаточно нажать одну кнопку - и запароленный файл открыт{/post}{/quote}  
У меня именно такая ситуация! А есть пример указанного выше макроса? или хотя бы часть кода с вводом пароля?
 
{quote}{login=LeRoN}{date=26.12.2010 07:02}{thema=Re: }{post}{quote}{login=Юрий М}{date=26.12.2010 06:46}{thema=}{post}{/post}{/quote}Мне важно, чтоб им нельзя было пользоваться в другом месте. Ведь там в случае если его скопировать (или сохранить как), пароль на открытие будет запрашиваться. Буду очень благодарен за поддержку.{/post}{/quote}  
Так ведь это и есть привязка к "месту", о которой я говорил, и от которой Вы отказались.
 
Вообще-то да! А как это осуществить с учетом вышеизложенного?
 
если файл всегда расположен по одному пути - всё просто:  
 
Sub СложнейшийМакрос()  
   Workbooks.Open "C:\Documents and Settings\Checkboxes.xls", , , , "ВашПароль"  
End Sub  
 
 
Если же путь к файлу неизвестен - то всё НАМНОГО сложнее (лучше даже не пробовать)
 
{quote}{login=EducatedFool}{date=26.12.2010 07:56}{thema=}{post}если файл всегда расположен по одному пути - всё просто:  
 
Sub СложнейшийМакрос()  
   Workbooks.Open "C:\Documents and Settings\Checkboxes.xls", , , , "ВашПароль"  
End Sub  
 
Если же путь к файлу неизвестен - то всё НАМНОГО сложнее (лучше даже не пробовать){/post}{/quote}  
Благодарю, но только не работает!  
Создал файл Checkboxes.xls, установил пароль на открытие...  
Workbooks.Open "C:\Documents and Settings\Checkboxes.xls" действительно открывает файл, но диалог ввода пароля на открытие документа никуда не делся(((
 
Уважаемый EducatedFool, прошу прощения за последнее сообщение! В первый раз что-то не сработало, но сейчас все OK! Как все просто!
 
Интересная особенность.  
Создал файл Checkboxes.xls, установил пароль на открытие...  
Создал в личной книге макросов Sub Auto_Open() и вставил туда Ваш код.  
При запуске Excel автоматически запустился макрос Auto_Open() и документ открылся без проблем, а при непосредственном открытии файла Checkboxes.xls появляется диалог на ввод пароля.  
Как я понял, во втором случае макрос автоматически не запустился.
 
Макрос не будет запускаться автоматически.  
 
Назначьте этому макросу комбинацию клавиш или кнопку - и открывайте ваш вайл нажатием этой комбинации клавиш или кнопки (вместо того, чтобы запускать файл как раньше)  
 
И уберите макрос из Sub Auto_Open() - он там не нужен.
 
{quote}{login=EducatedFool}{date=26.12.2010 09:07}{thema=}{post}Макрос не будет запускаться автоматически.  
 
Назначьте этому макросу комбинацию клавиш или кнопку - и открывайте ваш вайл нажатием этой комбинации клавиш или кнопки (вместо того, чтобы запускать файл как раньше)  
 
И уберите макрос из Sub Auto_Open() - он там не нужен.{/post}{/quote}  
Понял, большое спасибо!
Страницы: 1
Читают тему
Наверх