【发布时间】:2018-10-11 10:01:29
【问题描述】:
我想从这个链接下载一个文件: https://www.hko.gov.hk/tide/marine/data/ALL.txt
此文件每 5 分钟自行更新一次。所以我继续创建一个 excel VBA,然后使用调度程序每 5 分钟激活一次这个 excel 文件。然而不知何故,我下载到电脑中的文件并没有每 5 分钟更新一次。如果我使用chrome或IE打开,内容保持不变,与文本文件不同。
以下是我从网上复制的一个非常典型的脚本。
Function DownloadFile(link As String)
Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", link, 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 ThisWorkbook.Path & "\raw\" & "temp.csv", 2 ' 1 = no overwrite, 2 = overwrite
oStream.Close
End If
End Function
【问题讨论】:
-
旁注:上面应该是一个子。您不需要用户名和密码参数,并且可以删除此行:myURL = WinHttpReq.responseBody。并且应该声明所有变量。