Excel 2010/2013 - VBA - Cómo ejecutar un evento antes de la vista previa de impresión

Excel 2010/2013 - VBA - Cómo ejecutar un evento antes de la vista previa de impresión

He pasado mucho tiempo intentando resolver este problema y busqué en muchos foros pero todavía no he encontrado una solución. Quizás alguien aquí pueda encontrar una respuesta...

Quiero ejecutar algún código (cambiar algunas celdas para cambiar el formato condicional, ocultar algunas filas, etc.) antes de que el usuario imprima el libro.

En los viejos tiempos, esto se lograba simplemente ejecutando el evento _BeforePrint incorporado en Excel:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    'Do something
End Sub

En Excel 2010 y versiones posteriores, el usuario puede hacer clic en la vista previa de impresión después de presionar Ctrl-P o ir a Archivo->Imprimir.

¡El evento _BeforePrint solo se activa después de que el usuario realmente hace clic en Imprimir!

Por lo tanto, el usuario ve una vista previa de impresión de la hoja antes de que se ejecute mi macro. La hoja ahora no se ve bien para imprimir y el usuario comienza a manipularla porque no sabe que la hoja estará dispuesta para imprimir después de presionar el botón Imprimir.

¿Alguien tiene una solución a esto?

información relacionada