Подавление диалога печати во время автоматизации Internet Explorer - PullRequest
0 голосов
/ 25 июня 2018

Я нахожусь в середине огромного проекта, который требует от меня связать многие устаревшие, но все же полезные системы данных на основе интрасети через электронную таблицу, которая анализирует данные соответствующим образом.Я близок к завершению проекта и начал подключать последнюю из этих систем.Однако проблема, с которой я столкнулся, заключается в том, что главная веб-страница, с которой загружаются данные, имеет событие onLoad, которое эффективно открывает диалоговое окно печати.Поскольку эта система загружает данные в фоновом режиме, это нежелательное поведение.

К сожалению, нашей команде по управлению данными все еще требуется эта система в ее текущем виде, и поэтому изменение самой веб-страницы невозможно.

На веб-странице есть следующий код, который вызывает проблемы:

<body bgcolor="#ffffff" leftmargin="0" topmargin="0" background bgProperties="fixed" onload="javascript:printform();" >

, а также скрипт, который запускает команду для открытия диалогового окна печати:

<Script Language='JavaScript'>
function printform()
{
    print();
}
</script>

Когда я гуглилрешение, которое я изо всех сил пытался найти много ресурсов по этой теме, но наиболее многообещающим было использование строки ie.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER.Где ie является объектом internetexplorer.Однако в моем тестировании это не помешало появлению диалога.Буду очень признателен за любую помощь или указатели, которые вы можете дать.Для полноты ниже приведен код вызова в его нынешнем виде:

Private ie As InternetExplorer
Private doc As HTMLDocument
Private pBarcodeStandard As String

Private Sub IE_Wait()

Do While ie.Busy Or ie.readyState = READYSTATE_LOADING: DoEvents: Loop

End Sub
Public Sub Import_TES_Data()

Set ie = New InternetExplorer
ie.Visible = False
ie.navigate "https://company.intranet.page.here/"
IE_Wait
Set doc = ie.document
doc.getElementsByName("itemNum")(0).value = pBarcodeStandard
doc.forms(0).submit

'After submitting the form (at this point) the webpage loads with the onLoad command

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...