Si está creando libros de trabajo para que otros los usen, es posible que le interese deshabilitar las opciones de impresión (menú y barra de herramientas) siempre que se abra un libro específico. La forma más sencilla de hacerlo es utilizar la macro Auto_Open (que se ejecuta inmediatamente después de abrir el libro de trabajo que lo contiene) para que los comandos de impresión del menú y la barra de herramientas ya no estén disponibles. Lo siguiente hará bien el truco:

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

También puede crear una macro especial Auto_Close que restaura los menús y las barras de herramientas cuando se cierra el libro:

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

Debe tener en cuenta que estas macros solo se ejecutan cuando se abre y se cierra el libro específico. Eso significa que su capacidad de impresión no estará disponible mientras el libro esté abierto, incluso para cualquier otro libro abierto que pueda tener.

Otro método consiste en cancelar cualquier impresión antes de que comience. La siguiente es una macro que puede colocar dentro de un módulo de libro de trabajo:

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Cancel = True End Sub

Siempre que alguien intenta imprimir el libro de trabajo, el proceso se cancela automáticamente. De lo contrario, las opciones del menú y los botones de la barra de herramientas permanecen visibles. (También puede cambiar la macro no solo para cancelar sino para mostrar un cuadro de mensaje que indique que los usuarios no pueden imprimir).

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (2556) se aplica a Microsoft Excel 97, 2000, 2002 y 2003.