Использование единого пароля для нескольких книг (Microsoft Excel)
У Билла есть набор из нескольких книг, которые он часто использует как набор.
Чтобы не допустить посторонних глаз к содержимому этих рабочих тетрадей, он установил пароль для каждой из них. Билл использует книгу меню в качестве шлюза к другим книгам в пакете. Книга содержит гиперссылки на отдельные книги, что дает ему быстрый доступ к книгам в своем наборе.
Поскольку Excel защищает паролем каждую книгу на уровне файлов, всякий раз, когда Билл щелкает гиперссылку, ему необходимо ввести пароль для книги, к которой он пытается получить доступ. Он задается вопросом, есть ли способ просто ввести пароль один раз (это один и тот же пароль для всех книг в его пакете) и получить доступ ко всем книгам без необходимости многократно вводить пароль.
Короткий ответ: это невозможно, поскольку Excel обрабатывает каждый файл отдельно. Переключитесь на отдельный файл по вашей гиперссылке, и Excel снова запросит пароль. Есть только два возможных способа избежать раздражения. Первый — объединить все отдельные книги в одну книгу. Это не может быть оптимальным решением по ряду причин. (Например, вам может потребоваться раздать отдельные книги другим пользователям. Если вы объедините все книги в одну, вы удалите эту возможность.)
Другое решение — использовать макрос для переключения между книгами вместо использования гиперссылок. Существует множество способов создания такой макросистемы, но один простой способ, имитирующий метод гиперссылки, — это создать новый рабочий лист, который будет действовать как «шлюз». Вместо этого в ячейках, куда вы бы добавили гиперссылки, поместите полный путь и имя файла каждой книги, на которую вы хотите создать ссылку.
У вас должен получиться список спецификаций файлов для ваших книг.
Теперь щелкните правой кнопкой мыши вкладку листа этого нового листа. Excel отображает контекстное меню, в котором вы должны выбрать Просмотреть код. Откроется редактор VBA с панелью кода для рабочего листа. Введите следующий макрос в панель кода:
Private Sub Worksheet_BeforeDoubleClick _ (ByVal Target As Excel.Range, Cancel As Boolean) Dim sPW As String Dim sFile As String sPW = "password" 'Change to your password sFile = Target.Value If sFile <> "" Then If Dir(sFile) <> "" Then Workbooks.Open _ FileName:=sFile, _ password:=sPW Cancel = True End If End If End Sub
Единственное, что вам нужно изменить в коде, — это пароль, который вы хотите использовать для книг, к которым вы получаете доступ. (Код предполагает, что для всех рабочих книг используется один и тот же пароль.)
Нажмите Alt + Q, чтобы выйти из редактора VBA, и вы вернетесь к своему рабочему листу. Сохраните книгу, а затем дважды щелкните любую из ячеек, содержащих путь и имена файлов. Затем Excel передает управление макросу, который получает путь и имя файла, а затем открывает эту книгу.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (2886) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:
link: / excelribbon-Using_a_Single_Password_for_Multiple_Workbooks [Использование одного пароля для нескольких книг]
.