我正在尝试下载一个电子表格,每次访问时都会更改其名称,而不会处理IE保存提示。 Intranet站点通过门户网站路由,这需要Windows身份验证才能登录,然后再将我带到目的地。到目前为止我拼凑到一起让我通过Windows身份验证,输入相应的信息并单击按钮来检索查询。理想情况下,我想直接将信息提取到我的N:驱动器而不保存提示,只需将其保存为“File.xlsx”;导航下载/保存提示也可以,但我不知道哪个更容易或更有效。
Sub Automation()
Const URL1 = "https://website/q/?ICAction=ICQryNameExcelURL=PUBLIC.Z_FILE_DESIGN"
Dim IE As New SHDocVw.InternetExplorer
Dim HTMLDoc As HTMLDocument
Dim DValue As String
Set IE = New SHDocVw.InternetExplorerMedium
DValue = Format(Date, "mm/dd/yyyy")
With IE
.Navigate URL1
.Visible = True
End With
Do
DoEvents
Loop Until IE.ReadyState = 4 And Not IE.Busy
IE.Navigate "javascript: signinIWA();"
Do
DoEvents
Loop Until IE.ReadyState = 4 And Not IE.Busy
Set HTMLDoc = IE.Document
HTMLDoc.getElementById("InputKeys_Z_File").Value = "q32e751"
HTMLDoc.getElementById("InputKeys_EFFDT").Value = DValue
Do
DoEvents
Loop Until IE.ReadyState = 4 And Not IE.Busy
HTMLDoc.getElementById("#ICQryDownloadExcelFrmPrompt").Click
End Sub
如果它有帮助,检查点击按钮元素时的代码:
</DIV></td>
</tr>
<input type='hidden' name='ICExcel' id='ICExcel' value='1' />
</table>
<a class='PSPUSHBUTTON' style='background-Color: transparent;border:0;' id = 'Left' role='presentation'><span style='background-Color: transparent;border:0;'><input type='button' class='PSPUSHBUTTON' value='View Results' id='#ICQryDownloadExcelFrmPrompt' onclick="submitAction_win4(this.form,'#ICQryDownloadExcelFrmPrompt');" tabindex='14' /></span></a>
</DIV>
<DIV id='win4divQUERYRESULT'><table cellpadding='2' cellspacing='0' width='90%'>
<tr><td>
</td></tr>
<tr><td>`
每次访问时都会发生变化的一件事是onclick动作和queryresult行后面的数字“4”。此外,当打开临时文件时,它始终具有相同的基本名称 - Z_FILE_DESIGN,但包括附加的随机数,例如。 Z_FILE_DESIGN_12345。非常感谢任何建议或帮助。