2

У меня есть файл Excel с большим рабочим листом, который часто обновляется и отправляется.

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

Однако пользователь все еще может прочитать скрытую часть, скопировав и вставив содержимое на другой лист, или используя формулу, такую как

= 'ProtectedSheet'!J9

где J9 - скрытая ячейка.

Я знаю, что у каждой стены есть способ прорваться, но все же есть ли способ защитить содержимое скрытой ячейки Excel от (простого) считывания "обычным" пользователем?

2 ответа2

2

Общий подход, который я пытаюсь использовать, заключается в том, чтобы скрыть то, что людям не нужно видеть, защитить клетки, которые я не хочу, чтобы они меняли, и оставить все как есть. Не так много, что нельзя обойти, если кто-то искренне хочет увидеть то, что скрыто, поэтому, если есть вещи, которые вы действительно хотите сохранить в тайне, то Excel не является ответом.

Тем не менее, вот несколько примеров того, как вы можете отговорить людей от подробностей:

  1. Установите свойства этих ячеек в Hidden (Format Cells ...| Защита | Скрытый, который скрывает формулы, которые генерировали значение в ячейке при ее защите; а также
  2. Когда вы защищаете лист, снимите флажок «выбрать заблокированные ячейки», что не позволит кому-либо выбрать ячейку, если он ее покажет, и попытается использовать ее в формуле. Это не помешает кому-либо ввести ссылку на ячейку вручную, но это сделает ее более трудной.
2

Разложите вспомогательные ячейки вычислений на совершенно другой лист. Затем скройте этот лист или используйте VBA, чтобы сделать его "очень скрытым", что означает, что его нельзя скрыть через пользовательский интерфейс.

Это цитата из статьи Джона Уокенбаха http://j-walk.com/ss/excel/usertips/tip036.htm

  • Нажмите Alt-F11, чтобы открыть редактор Visual Basic
  • в окне "Проект" дважды щелкните объекты Microsoft Excel и выберите лист, который необходимо скрыть.
  • Нажмите F4, чтобы отобразить окно свойств
  • Установите для свойства Visible листа значение xlSheetVeryHidden.

Чтобы отобразить лист, повторите эти шаги, но установите для свойства Visible значение xlSheetVisible.

Защитите проект VBA с помощью пароля, чтобы даже пользователь с небольшим количеством навыков VBA не мог легко получить к нему доступ.

Имейте в виду, что защита паролем Excel никогда не бывает абсолютно безопасной. Пароли рабочего листа снимаются с охраны в течение 2 секунд. В зависимости от версии Excel пароли к рабочим тетрадям и пароли VBA могут быть обойдены с небольшим усилием, если на них будет направлено достаточно вредоносной энергии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .