Как определить окно предварительного просмотра печати в Excel 2003 с помощью vb.net? - PullRequest
1 голос
/ 05 августа 2010

Мне нужно иметь возможность проверить, является ли текущий вид предварительным просмотром в Excel 2003.

Есть ли что-то в объектной модели Excel для простого доступа к этому свойству? (Как и application.printpreview в объектной модели Word ...).

Любой совет будет более чем приветствоваться,

Спасибо

Julien

PS: Короче говоря, я разрабатываю надстройку vsto с сочетаниями клавиш для своих пользовательских функций, и мне нужно отключить эти сочетания клавиш, когда включен предварительный просмотр.

1 Ответ

0 голосов
/ 05 августа 2010

Вы хотите определить, находится ли оно в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...