Я хочу использовать событие BeforePrint в Excel, чтобы редактировать верхний и нижний колонтитулы окончательной распечатки в зависимости от различных параметров. Чтобы пользователь мог проверить правильность настройки страницы, необходимо вызвать этот код перед отображением предварительного просмотра в Excel. При вызове предварительного просмотра печати с кодом VBA ThisWorkbook.PrintPreview
событие запускается до отображения предварительного просмотра, но при использовании «Ctrl + P» или «Файл - печать» событие не вызывается до тех пор, пока документ не будет отправлен на принтер, поэтому предварительный просмотр не показывает окончательную распечатку. Код Application.CommandBars.ExecuteMso "PrintPreviewAndPrint"
также приводит к тому же неудовлетворительному результату.
Я заметил, что при использовании ThisWorkbook.PrintPreview
предварительный просмотр отображается в полноэкранном режиме, в то время как другие методы показывают «нормальный» предварительный просмотр. Чтобы проверить, вызывается ли событие, я использовал следующий короткий фрагмент кода.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Debug.Print "BeforePrint"
End Sub
Мне нужен надежный способ показать правильный предварительный просмотр печати, поэтому использование кнопки с кодом VBA, упомянутым выше, не вариант. Есть предложения?
Заранее спасибо, мк