如果要创建供其他人使用的工作簿,则只要打开特定的工作簿,您可能会对禁用打印选项(菜单和工具栏)感兴趣。最简单的方法是使用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。