Excel 2010/2013 - VBA - Как запустить событие перед предварительным просмотром печати

Excel 2010/2013 - VBA - Как запустить событие перед предварительным просмотром печати

Я потратил много времени, пытаясь решить эту проблему, и искал на многих форумах, но так и не нашел решения. Может быть, кто-то здесь сможет найти ответ...

Я хочу выполнить некоторый код (изменить некоторые ячейки, чтобы сместить условное форматирование, скрыть некоторые строки и т. д.) до того, как пользователь распечатает книгу.

Раньше это можно было сделать, просто запустив встроенное событие _BeforePrint в Excel:

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

В Excel 2010 и более поздних версиях пользователь может нажать кнопку предварительного просмотра печати, нажав Ctrl-P или выбрав Файл->Печать.

Событие _BeforePrint срабатывает только после того, как пользователь фактически нажмет кнопку «Печать»!

Поэтому пользователь видит предварительный просмотр листа перед печатью до того, как мой макрос был запущен. Теперь лист не выглядит хорошо для печати, и пользователь начинает манипулировать листом, потому что он не знает, будет ли лист подготовлен к печати после нажатия кнопки «Печать».

У кого-нибудь есть решение этой проблемы?

Связанный контент