禁用打印(Microsoft Excel)
如果要创建供其他人使用的工作簿,则只要打开特定的工作簿,您可能会对禁用打印选项(菜单和工具栏)感兴趣。最简单的方法是使用Auto_Open宏(在打开包含它的工作簿时立即运行),使菜单和工具栏打印命令不再可用。以下将很好地解决问题:
Sub Auto_Open() 'Prevent Printing via menu MenuBars(xlWorksheet).Menus("File").MenuItems("Print...").Delete 'Turn off Print icon wherever it may be in the toolbars For J = 1 To Toolbars.Count For K = 1 To Toolbars(J).ToolbarButtons.Count If Toolbars(J).ToolbarButtons(K).Id = 2 Then Toolbars(J).ToolbarButtons(K).Enabled = False End If If Toolbars(J).ToolbarButtons(K).Id = 3 Then Toolbars(J).ToolbarButtons(K).Enabled = False End If Next K Next J End Sub
您还可以创建一个特殊的Auto_Close宏,该宏将在工作簿关闭时恢复菜单和工具栏:
Sub Auto_Close() 'Reset the menu items For Each mb In MenuBars mb.Reset Next mb 'Reset the buttons For J = 1 To Toolbars.Count For K = 1 To Toolbars(J).ToolbarButtons.Count If Toolbars(J).ToolbarButtons(K).Id = 2 Then Toolbars(J).ToolbarButtons(K).Enabled = True End If If Toolbars(J).ToolbarButtons(K).Id = 3 Then Toolbars(J).ToolbarButtons(K).Enabled = True End If Next K Next J End Sub
您应注意,这些宏仅在打开和关闭特定工作簿时运行。这意味着只要打开工作簿,就无法使用打印功能,即使您可能拥有的任何其他打开的工作簿也是如此。
另一种方法是取消任何打印,然后再开始打印。以下是您可以在工作簿模块中放置的宏:
Private Sub Workbook_BeforePrint(Cancel As Boolean) Cancel = True End Sub
每当有人尝试打印工作簿时,该过程都会自动取消。否则,菜单选项和工具栏按钮将保持可见。 (您也可以将宏更改为不仅取消,还显示一个消息框,指示不允许用户打印。)
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2556)适用于Microsoft Excel 97、2000、2002和2003。