Страницы: 1
RSS
VBA. Закрыть PrintPreview программно, Как программно закрыть вызванное окно PrintPreview?
 
Добрый день.
Как программно закрыть вызванное окно ActiveWindow.SelectedSheets.PrintPreview?
Дело в том, что это окно приходится вызывать потому, что команда ActiveWorkbook.Worksheets(1).HPageBreaks.Count + 1 выдает верные данные только после предварительного просмотра. Файл просматривается не один, и хотелось бы избежать ручного закрытия каждого всплывающего окна.
Если есть другие способы узнать количество печатных страниц в листе книги, буду только рад узнать его.
Код
Dim pg As Integer ' кол-во страниц
...
ActiveWindow.SelectedSheets.PrintPreview ' Требуется ручное закрытие предпросмотра
pg = ActiveWorkbook.Worksheets(1).HPageBreaks.Count + 1
 
попробуйте вместо
Код
ActiveWindow.SelectedSheets.PrintPreview
pg = ActiveWorkbook.Worksheets(1).HPageBreaks.Count + 1

Код
 ActiveWindow.View = xlPageLayoutView 'режим разметки страниц
pg = ActiveWorkbook.Worksheets(1).HPageBreaks.Count + 1
 
Михаил С., Большое спасибо, Ваш вариант работает.  :idea:
Есть небольшие погрешности, но это HPageBreaks.Count уж так работает, почему-то в некоторых случаях выдает количество страниц отличающееся от количества показываемых в предпросмотре  :evil: , но тут Ваш вариант не виноват. Спасибо.  :)
Изменено: cuprum - 12.03.2017 10:16:22
Страницы: 1
Наверх