如何防止用户打印工作表?
作者:互联网
2026-04-05
在日常工作中,工作表中可能包含敏感信息,为防止内部数据外泄,部门通常禁止打印相关内容。本文将为您介绍如何有效阻止用户打印工作表。
使用 VBA 防止用户打印指定的单个工作表
使用 VBA 防止用户打印整个工作簿
使用 VBA 防止用户打印指定的单个工作表
太棒了!在 Excel 中像使用 Chrome、Edge、Firefox 和 Safari 一样高效地使用 Tabs!
每天为您节省 50% 的时间,并减少成千上万次鼠标点击!
您可以使用以下 VBA 代码,防止特定工作表被打印。
1. 激活您要禁用打印功能的工作表。
2. 按住 ALT + F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。
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

注意:在上述代码中,Sheet 1 是您禁止打印的活动工作表。
4. 保存并关闭此代码后,当您尝试打印该特定工作表时,将立即收到以下警告。

注意:使用此代码后,仅该特定工作表无法打印,其余工作表仍可正常打印。
使用 VBA 防止用户打印整个工作簿
如果您希望阻止用户打印整个工作簿,以下代码也能助您实现这一目标。
1. 打开您不希望他人打印的工作簿。
2. 按住 ALT + F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。
3. 然后在左侧的工程资源管理器中,双击 ThisWorkbook 以打开模块,并将以下代码粘贴到其中:
VBA 代码:防止用户打印指定的单个工作表
Private Sub Workbook_BeforePrint(Cancel As Boolean)
'Update 20140626
Cancel = True
MsgBox "You can't print this workbook"
End Sub

4. 然后保存并关闭此代码,返回工作簿。现在,无论您尝试打印单个工作表还是整个工作簿,都将无法打印,并会弹出以下警告:

相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
Microsoft Excel:通过 API 实现电子表格自动化 - Openclaw Skills
Excel / XLSX: 专业电子表格自动化 - Openclaw Skills
Excel 周报:Power Query 报告 - Openclaw Skills
xlsx-cn: 高级 Excel 电子表格处理 - Openclaw Skills
xlsx-pro: 专业 Excel 自动化与财务建模 - Openclaw Skills
电子表格:Excel 和 Google 表格自动化 - Openclaw Skills
自动化 Excel:电子表格自动化与数据处理 - Openclaw Skills
CSV 转 Excel 转换器:专业格式化与多工作表支持 - Openclaw Skills
考勤表生成器:自动化人力资源 Excel 报表 - Openclaw Skills
如何在 Excel 中根据多个条件查找并返回最大值?
AI精选
