Запрет на печать книги Excel

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

Нажмите сочетание Alt+F11, чтобы открыть редактор Visual Basic или воспользуйтесь кнопкой Visual Basic на вкладке Разработчик (Developer). Найдите в левом верхнем углу в окне Project модуль ЭтаКнига (ThisWorkbook) и откройте его двойным щелчком левой кнопки мыши:

print-taboo1.png

В открывшееся окно скопируйте и вставьте простой код макроса:

Private Sub Workbook_BeforePrint(Cancel As Boolean) 
    Cancel = True 
    MsgBox "Распечатка этой книги запрещена!", vbCritical
End Sub

Технически, этот код представляет собой обработчик события отправки документа на печать. Команда Cancel=True отменяет стандартную последовательность действий Excel в этом случае, т.е. распечатку, заменяя ее на вывод сообщения о блокировке:

print-taboo2.png

Само-собой, пользователь может запретить вообще все макросы в книге и наш макрос не сработает. Однако на этот случай тоже есть проверенный рецепт: спрятать все листы книги, кроме одного (с сообщением о необходимости включить макросы) и вынудить пользователя их разрешить ;)

Ссылки по теме




21.06.2016 14:25:21
Добавил макрос. Нажал на кнопку сохранить. Вышел из документа, вхожу снова, жму alt+F11, а макроса то и нет))) и на печать документ выводится без проблем. В чем может быть проблема?
09.12.2016 14:21:50
У меня та же проблема
01.03.2018 10:51:59
А сохранить книгу в фомате с поддержкой макросов (XLSM или XLSB) не забыли? Защита от макросов не включена?
08.07.2016 12:40:19
Это конечно всё здорово, но зачем все эти пляски с бубном, когда можно распечатать скрин??
01.03.2018 10:52:31
Против лома нет приема, да :)
mo8
13.03.2018 11:41:42
Я тут тоже столкнулся с крутой (или ламерской?) защитой.
Ситуация такая: внешний файл .xls не печатается ни на одном принтере,
никаких защит не обнаружено, никаких ошибок или сообщений не выдаёт.
В файле присутствует картинка.
Решил её удалить - не удаляется.
Присмотрелся - после удаления у неё меняется название.
Т.е. эта не одна, а неизвестное количество картинок одна над другой,
так что они выглядят как одна картинка.
Видимо при печати они забивают память принтера,
при этом размер файла не такой уж и большой - килобайт 600.
После удаления нескольких тысяч картинок я плюнул на эту затею и просто скопировал содержимое в другой документ.
Наверх