2

У меня есть рабочая тетрадь с множеством листов, макросов и вычислений. Теперь мне нужно отправить этот лист (не предвиденный до вчерашнего дня). Как мне его заблокировать, чтобы пользователи:

  • не можете получить доступ / увидеть макросы?
  • не в состоянии показать скрытые листы?
  • невозможно увидеть код или добавить код /

Я прошел и разблокировал эти клетки, я хочу, чтобы они изменились. Скрытые ряды кнопок и формул, а затем заблокированы их. Скрытые листы. Теперь я защитил лист с помощью пароля.

Однако мешает ли это пользователям получить доступ к Макросу / Коду? или простыни? Если нет, как я могу заблокировать книгу правильно / надежно / полностью?

Это звучит как тип защиты «старшего брата», но я просто проверяю, чтобы все взаимосвязанные ячейки не были случайно изменены или запущен макрос, который мне не нужен для запуска.

Большое спасибо

Майкл.

2 ответа2

6

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

Тем не менее, вот несколько ответов:

Начальная защита

Вы покрыли это, в основном запираете клетки и прячете вещи и все необходимое.
Тогда защитите каждый лист.
Затем защитите саму книгу.

Очень скрытые листы

Листы можно сделать "очень" скрытыми, это означает, что их можно скрыть только через VBA (они не отображаются в списке отображения в интерфейсе). Это просто делается через строку VBA, которую нужно запустить хотя бы один раз, чтобы вызвать изменение настроек, и не нужно хранить ее в файле после запуска (но это может быть полезно, чтобы запомнить, какие листы отображать потом):

Sheets("Sheet1").Visible = xlVeryHidden

Скрытый код VBA

Установите пароль для вашего проекта. В редакторе VBA щелкните правой кнопкой мыши свой модуль в Project Explorer , выберите <ProjectName> Properties и установите пароль на вкладке Protection .

Обратите внимание, что они могут быть вскрыты грубо.

Скрытые макросы

Я предполагаю, что здесь вы имеете в виду, что вы не хотите, чтобы они появлялись в списке макросов, когда кто-то открывает окно « Run Macro макрос»?

Чтобы сделать этот макрос нужным макросом, либо Private Sub либо Function , он делает их невидимыми как макросы, но все же позволяет их вызывать другим кодом в том же модуле.

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

0

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

Если вы хотите показать только данные, а не форматирование, простой способ «очистить» все скрытые данные - это экспортировать каждый лист в формате CSV, а затем повторно импортировать их как новую книгу Excel. (Второй шаг, строго говоря, необязателен, но люди не привыкли к файлам CSV, поэтому лучше отправить файл Excel, как они ожидают.)

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

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