我认为我有一个简单的问题。我想通过直接访问http链接来查看png。
问题是,我一直在直接下载。
我打赌这只是在某个地方翻转开关的问题。
Sub CamelGraph() 'ASIN As String
Dim ASIN As String
ASIN = "0395967392"
Set ie = CreateObject("InternetExplorer.Application")
Dim URL As String
URL = "https://charts.camelcamelcamel.com/us/" & ASIN & "/sales-rank.png?force=1&zero=0&w=725&h=440&legend=1&ilt=1&tp=1y&fo=0&lang=en"
ie.Visible = True
apiShowWindow ie.hwnd, sw_maximize
ie.navigate URL
End Sub
答案 0 :(得分:0)
我认为这更多地与浏览器类型(即IE与Chrome)以及正在使用的MIME类型有关。虽然您可以在单个计算机上或使用变通方法(如Chrome重定向器)修复此问题,但是可以考虑下载该文件,然后使用Shell命令打开它?我知道这不是完美的,但我认为它会在不同的机器上提供更一致的结果。
下面是一些用于下载文件的VBA代码,然后您可以使用Shell来使用默认的关联应用程序打开它:
Sub DownloadFile()
Dim myURL As String
myURL = "https://YourWebSite.com/?your_query_parameters"
Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", myURL, False, "username", "password"
WinHttpReq.send
myURL = WinHttpReq.responseBody
If WinHttpReq.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write WinHttpReq.responseBody
oStream.SaveToFile "C:\file.csv", 2 ' 1 = no overwrite, 2 = overwrite
oStream.Close
End If
End Sub
祝你好运,杰森!
答案 1 :(得分:0)
首先尝试导航到空白页.Navigate "about:blank"
以在浏览器窗口中显示图像。
Option Explicit
Sub Test()
With CreateObject("InternetExplorer.Application")
.Visible = True
.Navigate "about:blank"
Do While .readyState <> 4 Or .Busy
DoEvents
Loop
.Navigate "https://charts.camelcamelcamel.com/us/0395967392/sales-rank.png?force=1&zero=0&w=725&h=440&legend=1&ilt=1&tp=1y&fo=0&lang=en"
Do While .readyState <> 4 Or .Busy
DoEvents
Loop
Do While .Document.readyState <> "complete"
DoEvents
Loop
End With
End Sub