1

Тема: VBA: Запаролить листы в книге Excel

Существует ли способ запаролить отдельные листы без багов и глюков? Чтобы пользователь открыл файл xls, в выпадающем списке выбрал свой логин, ввёл пароль и получил доступ только к определённым листам.
В интернете находил один способ, но там сплошные костыли, то и дело вылетает предупреждение visual basic: End / Debug / Отмена.
Примечание: файл xls одним пользователям будет доступен только для чтения, другим с возможностью изменения.

2

Re: VBA: Запаролить листы в книге Excel

ypppu
Добрый вечер.
http://www.cyberforum.ru/vba/thread781094.html
https://www.excel-vba.ru/chto-umeet-exc … tdiapazon/

3

Re: VBA: Запаролить листы в книге Excel

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

По второй ссылке находится пример, который я и описывал в первом сообщении. Он, судя по всему, построен на костылях и подпорках. При выходе из программы скрипт пытается сохранить файл без моего ведома, что уже не очень то правильно. Но это полбеды, если его открывает человек, имеющий права только на чтение файла, вылезает ошибка visual basic: [End] / [Debug] / [Отмена], плюс дважды вылезает окно с предложением сохранить файл.

Эти нежелательные окна перестают вылезать, если удалить в скрипте строку ThisWorkbook.Save. Но тогда перестаёт работать то, ради чего всё делалось: пользователь начинает видеть все листы в книге, окно ввода пароля при этом можно просто игнорировать.

4

Re: VBA: Запаролить листы в книге Excel

ypppu, в общем и целом — нет такой возможности.

5

Re: VBA: Запаролить листы в книге Excel

Ясно, спасибо.