【发布时间】:2015-03-30 13:37:34
【问题描述】:
我一直在我的 32 位机器上使用 Excel VBA 中的以下函数,最近升级到 64 位机器和 Excel 2013 的 64 位版本。它仍然可以工作,但只下载部分 http 代码。我找遍了整个地方,找不到任何建议如何解决这个问题;真的很感激能帮助它再次工作。 谢谢 戴夫
Function SaveWebFile(ByVal vWebFile As String, ByVal vLocalFile As String) As Boolean
Dim oXMLHTTP As Object, i As Long, vFF As Long, oResp() As Byte
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
oXMLHTTP.Open "GET", vWebFile, False 'Open socket to get the website
oXMLHTTP.Send 'send request
Do While oXMLHTTP.readyState <> 4
DoEvents
Loop
oResp = oXMLHTTP.responseBody 'Returns the results as a byte array
vFF = FreeFile
If Dir(vLocalFile) <> "" Then Kill vLocalFile
Open vLocalFile For Binary As #vFF
Put #vFF, , oResp
Close #vFF
Set oXMLHTTP = Nothing
End Function
【问题讨论】:
-
我没有得到你的问题!
-
你的意思是你不明白我在问什么?
-
上面的代码在我用 excel 2010 32 位运行时完美运行,但是当我用 excel 2013 64 位运行时,我得到了 html 代码的截断版本...
-
我相信这与ie11 vs ie8有关。虽然特定网站允许我在使用 ie8 时使用密码登录后获取网页,但使用 ie11 时似乎没有这样做。
-
绝对是 ie11 没有将 cookie 传递到网站的问题。有人知道解决方法吗?
标签: vba xmlhttprequest