Se stai creando cartelle di lavoro per essere utilizzate da altri, potresti essere interessato a disabilitare le opzioni di stampa (menu e barra degli strumenti) ogni volta che viene aperta una cartella di lavoro specifica. Il modo più semplice per farlo è utilizzare la macro Auto_Open (che viene eseguita immediatamente all’apertura della cartella di lavoro che la contiene) per rendere i comandi di stampa del menu e della barra degli strumenti non più disponibili. Quanto segue farà bene il trucco:

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

Puoi anche creare una speciale macro Auto_Close che ripristina i menu e le barre degli strumenti quando la cartella di lavoro è chiusa:

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

È necessario notare che queste macro vengono eseguite solo quando la cartella di lavoro specifica viene aperta e chiusa. Ciò significa che la tua capacità di stampa non sarà disponibile finché la cartella di lavoro è aperta, anche per qualsiasi altra cartella di lavoro aperta che potresti avere.

Un altro approccio consiste nell’annullare qualsiasi stampa prima che inizi. Quella che segue è una macro che puoi inserire all’interno di un modulo cartella di lavoro:

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Cancel = True End Sub

Ogni volta che qualcuno tenta di stampare la cartella di lavoro, il processo viene automaticamente annullato. In caso contrario, le scelte di menu ei pulsanti della barra degli strumenti rimangono visibili. (È anche possibile modificare la macro non solo per annullare ma per visualizzare una finestra di messaggio che indica che gli utenti non sono autorizzati a stampare.)

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (2556) si applica a Microsoft Excel 97, 2000, 2002 e 2003.