Eliminar opción de imprimir en un archivo de excel

Tengo un archivo de excel al cual le he creado con macros botones para imprimir, ¿es posible configurar solo este archivo de excel de forma que la única forma de imprimir sea con estos botones?

Respuesta
2

En el Editor, en el objeto ThisWorkbook coloca la instrucción que impide la impresión:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    MsgBox "Utiliza los botones de impresión,"
Cancel = True
End Sub

Y en el botón o la macro que tengas para imprimir, inhabilitarás la ejecución de macros. Por ejemplo:

Sub Button1_Click()
'x Elsamatilde
'inhibe la ejecución del evento BeforePrint
    Application.EnableEvents = False
'instrucciones de impresión que tenga el botón
    ActiveSheet.PrintPreview
'habilita nuevamente la ejecución de macros
    Application.EnableEvents = True
End Sub

Te recuerdo que la consulta sigue abierta... considerando que te respondí en tiempo y forma por favor valora para darla por cerrada.

Sdos!

Hola, la verdad disculpa el retraso en mi respuesta, pero por varias situaciones no pude revisar mi cuenta de forma oportuna   

Tengo una duda con esta macro que me indicas que debo insertar:

Sub Button1_Click()
'x Elsamatilde
'inhibe la ejecución del evento BeforePrint
    Application.EnableEvents = False
'instrucciones de impresión que tenga el botón
    ActiveSheet.PrintPreview
'habilita nuevamente la ejecución de macros
    Application.EnableEvents = True
End Sub

Yo la macro que tengo configurada para imprimir es la siguiente y esta la ligue a un botón 

Sub Imprimir()

'Imprimir una lista de hojas específica

Sheets(Array("Sheet1", "Sheet2",)).PrintOut Copies:=1


End Sub

De que forma es que debo insertar la macro que me diste con la que yo tengo para que funcione la opción de impresión solo con el botón ????

Así quedaría la macro. Atención que tu línea del Array tiene una coma demás al final.

Por supuesto no debes olvidar la macro BeforePrint que se coloca en el objeto ThisWorkbook.

Sub Imprimir()
'x Elsamatilde
'inhibe la ejecución del evento BeforePrint
    Application.EnableEvents = False
'instrucciones de impresión que tenga el botón
'Imprimir una lista de hojas específica
Sheets(Array("Sheet1", "Sheet2")).PrintOut Copies:=1
'habilita nuevamente la ejecución de macros
    Application.EnableEvents = True
End Sub

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas