Как запретить пользователям печать листа?
В повседневной работе на листе часто содержатся важные сведения. Чтобы предотвратить утечку внутренних данных, отдел может запретить их печать. В этой статье я покажу, как ограничить пользователям возможность печати листа.
Запрет печати одного указанного листа с помощью VBA
Запрет печати всей книги с помощью VBA
Запрет печати одного указанного листа с помощью VBA
Вы можете использовать следующий код VBA, чтобы запретить печать определённого листа.
1. Активируйте лист, для которого нужно отключить функцию печати.
2. Удерживая клавиши ALT + F11, откройте окно Microsoft Visual Basic для приложений.
3. Затем в левой части Обозревателя проектов дважды щелкните ThisWorkbook, чтобы открыть модуль, и вставьте в него следующий код:
Код VBA: запрет печати одного указанного листа
Private Sub Workbook_BeforePrint(Cancel As Boolean)
'Update 20140625
Dim WsName As String
WsName = "Sheet1"
For Each xWs In Application.ActiveWorkbook.Windows(1).SelectedSheets
If xWs.Name = WsName Then
MsgBox ("You can not print this worksheet")
Cancel = True
End If
Next
End Sub

Примечание: В приведённом выше коде Sheet1 — это активный лист, который нельзя печатать.
4. Затем сохраните и закройте этот код. Теперь при попытке распечатать указанный лист вы увидите следующее предупреждение.

Примечание: Этот код блокирует печать только одного конкретного листа; все остальные листы можно печатать как обычно.
Запрет печати всей книги с помощью VBA
Если вы хотите запретить пользователям печать всей книги, ниже приведён код, который поможет вам в этом.
1. Откройте книгу, которую вы не хотите разрешать другим печатать.
2. Удерживая клавиши ALT + F11, откройте окно Microsoft Visual Basic для приложений.
3. Затем в левой части Обозревателя проектовдважды щелкните ThisWorkbook, чтобы открыть модуль, и вставьте в него следующий код:
Код VBA: запрет печати одного указанного листа
Private Sub Workbook_BeforePrint(Cancel As Boolean)
'Update 20140626
Cancel = True
MsgBox "You can't print this workbook"
End Sub

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

Связанные статьи:
Как распечатать несколько книг в Excel?
Как задать диапазон печати в Excel?
Как быстро распечатать текущую страницу в Excel?
Как распечатать длинный столбец на одной странице в Excel?
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек