我正处在一个庞大的项目中,这需要我通过电子表格来链接许多过时但仍有用的基于Intranet的数据系统,该电子表格会相应地分析数据。我的项目即将结束,并且已经开始连接这些系统的最后一个。但是我遇到的问题是,从中加载数据的主要网页具有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