他のユーザーが使用するワークブックを作成している場合は、特定のワークブックが開いているときはいつでも、印刷オプション(メニューとツールバー)を無効にすることをお勧めします。これを行う最も簡単な方法は、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

これらのマクロは、特定のブックを開いたり閉じたりしたときにのみ実行されることに注意してください。つまり、ワークブックが開いている限り、他の開いているワークブックであっても、印刷機能は使用できなくなります。

もう1つの方法は、印刷を開始する前にキャンセルすることです。以下は、ブックモジュール内に配置できるマクロです。

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Cancel = True End Sub

誰かがワークブックを印刷しようとすると、プロセスは自動的にキャンセルされます。それ以外の場合、メニュー選択とツールバーボタンは表示されたままになります。 (マクロを変更して、キャンセルするだけでなく、ユーザーが印刷を許可されていないことを示すメッセージボックスを表示することもできます。)

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(2556)は、Microsoft Excel 97、2000、2002、および2003に適用されます。