Вы хотите определить, находится ли оно в xlPageBreakPreview
If Windows(1).View = xlPageBreakPreview Then
''# do your thing
End If
Обратите внимание, что Windows(1)
всегда означает "активный просмотр".
РЕДАКТИРОВАТЬ: Перечитайте вопрос и увидите, что вы имели в виду фактическое окно предварительного просмотра печати. Это диалог Application.Dialogs(xlDialogPrintPreview)
. Это единственный метод .Show
. Но это не имеет большого значения, так как код не запускается, когда этот диалог открыт. Он вернет только два значения - True
и False
. Так True
означает что-то было напечатано , а False
означает диалог был закрыт без печати . Вы можете вернуть значение, выполнив что-то вроде этого:
dlgPrinted = Application.Dialogs(xlDialogPrintPreview).Show
If dlgPrinted Then
Debug.Print "The worksheet was printed"
Else
Debug.Print "The user closed print preview without printing."
End If