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)
我已经在我这边测试了这段代码,它可以正确下载文件。此外,您可以尝试根据自己的需要修改代码示例。
这不是 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)
我已经在我这边测试了这段代码,它可以正确下载文件。此外,您可以尝试根据自己的需要修改代码示例。