Когда я использую метод PrintOut для печати объекта Worksheet на принтере, отображается диалоговое окно «Печать» (показывающее имя файла, целевой принтер, напечатанные страницы и кнопку «Отмена»), даже если я установил DisplayAlerts = False. Приведенный ниже код работает в макросе Excel, но то же самое происходит, если я использую этот код в приложении VB или VB.Net (со ссылочными изменениями, необходимыми для использования объекта Excel).
Public Sub TestPrint()
Dim vSheet As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set vSheet = ActiveSheet
vSheet.PrintOut Preview:=False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
РЕДАКТИРОВАТЬ: Ответ ниже проливает больше света на это (что это может быть диалоговое окно Windows, а не Excel), но не отвечает на мой вопрос. Кто-нибудь знает, как предотвратить его отображение?
РЕДАКТИРОВАТЬ: Спасибо за ваше дополнительное исследование, Кевин. Похоже, это то, что мне нужно. Просто не уверен, что хочу слепо принимать код API, подобный этому. Кто-нибудь еще знает об этих вызовах API и о том, что они делают в соответствии с намерениями автора?