Wenn Sie Arbeitsmappen erstellen, die von anderen verwendet werden sollen, können Sie die Druckoptionen (Menü und Symbolleiste) deaktivieren, wenn eine bestimmte Arbeitsmappe geöffnet ist. Am einfachsten ist es, das Auto_Open-Makro zu verwenden (das unmittelbar nach dem Öffnen der Arbeitsmappe ausgeführt wird, in der es enthalten ist), um die Druckbefehle für Menü und Symbolleiste nicht mehr verfügbar zu machen. Folgendes wird den Trick gut machen:

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

Sie können auch ein spezielles Auto_Close-Makro erstellen, das die Menüs und Symbolleisten wiederherstellt, wenn die Arbeitsmappe geschlossen wird:

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

Sie sollten beachten, dass diese Makros nur ausgeführt werden, wenn die jeweilige Arbeitsmappe geöffnet und geschlossen wird. Dies bedeutet, dass Ihre Druckfunktion nicht verfügbar ist, solange die Arbeitsmappe geöffnet ist – auch für andere geöffnete Arbeitsmappen, die Sie möglicherweise haben.

Ein anderer Ansatz besteht darin, den Druckvorgang abzubrechen, bevor er beginnt. Das folgende Makro können Sie in ein Arbeitsmappenmodul einfügen:

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Cancel = True End Sub

Immer wenn jemand versucht, die Arbeitsmappe zu drucken, wird der Vorgang automatisch abgebrochen. Andernfalls bleiben die Menüoptionen und Symbolleistenschaltflächen sichtbar. (Sie können das Makro auch so ändern, dass nicht nur abgebrochen, sondern auch ein Meldungsfeld angezeigt wird, das angibt, dass Benutzer nicht drucken dürfen.)

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (2556) gilt für Microsoft Excel 97, 2000, 2002 und 2003.