Перейти к основному содержанию

Как запретить пользователям печатать лист?

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

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

Запретить пользователям печатать всю книгу с помощью VBA


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

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

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

2. Удерживайте ALT + F11 , чтобы открыть Окно Microsoft Visual Basic для приложений.

3. А потом слева Обозреватель проекта, двойной щелчок Эта рабочая тетрадь чтобы открыть модуль, и вставьте в него следующий код:

Код 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

doc-prevent-Printing-1

Примечание: В приведенном выше коде Sheet1 это активный рабочий лист, который вы не можете распечатать.

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

doc-prevent-Printing-1

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


стрелка синий правый пузырь Запретить пользователям печатать всю книгу с помощью VBA

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

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

2. Удерживайте ALT + F11 , чтобы открыть Окно Microsoft Visual Basic для приложений.

3. А потом слева Обозреватель проекта, двойной щелчок Эта рабочая тетрадь чтобы открыть модуль, и вставьте в него следующий код:

Код VBA: запретить пользователям печатать один указанный рабочий лист

Private Sub Workbook_BeforePrint(Cancel As Boolean)
'Update 20140626
Cancel = True
MsgBox "You can't print this workbook"
End Sub

doc-prevent-Printing-1

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

doc-prevent-Printing-1


Статьи по теме:

Как распечатать несколько книг в Excel?

Как распечатать диапазоны в Excel?

Как быстро распечатать текущую страницу в Excel?

Как распечатать длинную колонку на одной странице в Excel?

Лучшие инструменты для офисной работы

🤖 Kutools AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

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

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (5)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
how to prevent printing more than one sheet but not the hole workbook?
This comment was minimized by the moderator on the site
This works in theory, but by default Excel disables all macros when you open a workbook, which prevents this code from executing and allows printing as usual.
This comment was minimized by the moderator on the site
That's why you force users to enable macros in order to use a workbook.
This comment was minimized by the moderator on the site
This works but when you email the file, the user on that end can print it... which defeats the purpose...
This comment was minimized by the moderator on the site
Maybe it is possible to have an overlay (text box with white background) which hides the entries. Say on it: "Enable Macros to see content" with a button to press which moves the text box.

Now they can see the entries, but the macro is active again :-)
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations