VBA Internet Explorer 11 Open/Save 对话框(不是通常的弹出窗口)

VBA Internet Explorer 11 Open/Save dialog (not the usual popup)

这不是 IE Window 底部常见的打开、保存、取消提示,我知道如何使用 VBA 找到它。出于某种原因,在这个特定网站上,我得到了“老派”类型的对话框,我不知道如何在不使用发送键的情况下与 VBA 进行交互。

这是 IE11 弹出窗口的屏幕截图。

对于所有其他网站,我得到通常的“另存为”底栏,但这个不是。任何人对如何使用 VBA 找到此弹出窗口 window 有任何想法吗? Urlmon 与 URL 一起使用,但我正在寻找一种方法来 Select 此对话框中的选项,因为 Urlmon 由于某种原因在同事的计算机上被阻止,我也需要为该 PC 下载它。谢谢大家。

我尝试搜索如何使用 VBA 处理上述弹出窗口,但我得到的所有解决方案都是针对底部栏弹出窗口的自动化。

如果您的目标只是下载 Excel 文件,那么您可以尝试参考以下方法作为此问题的解决方法。

我发现当link中有文件名时,IE会显示这种弹出窗口。

例如:https://example.com/samplefile.xlsx

您可以很容易地尝试从源代码或从 IE 地址栏中获取文件 URL。

之后,您可以尝试在下面的代码中传递该文件URL可能会帮助您下载文件。

Sub test()

Dim myURL As String
myURL = "https://YOUR_URL_HERE/File_Name.xlsx" 'Please modify the file URL here...

Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", myURL, False, "username", "password"
WinHttpReq.send

If WinHttpReq.Status = 200 Then
    Set oStream = CreateObject("ADODB.Stream")
    oStream.Open
    oStream.Type = 1
    oStream.Write WinHttpReq.responseBody
    oStream.SaveToFile "D:\test.xlsx", 2  'Please modify the download location here...
    oStream.Close
End If

End Sub

参考:

How do I download a file using VBA (without Internet Explorer)

我已经在我这边测试了这段代码,它可以正确下载文件。此外,您可以尝试根据自己的需要修改代码示例。