有人知道我怎麼能用Excel VBA獲取這個文件?VBA從ddos下載文件受保護的網站
https://www.centralbankmalta.org/site/excel/statistics/financial_market_int_rates.xls
我用這個代碼,但現在它doesn't工作了:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
URLDownloadToFile 0, "https://www.centralbankmalta.org/site/excel/statistics/financial_market_int_rates.xls", "X:\TESORERIA\07 Prestamos\Préstamos 2016\financial_market_int_rates.xls", 0, 0
我也曾嘗試用:
Sub download2()
Dim FileNum As Long
Dim FileData() As Byte
Dim WHTTP As Object
mainUrl = "https://www.centralbankmalta.org/"
fileUrl="https://www.centralbankmalta.org/site/excel/statistics/financial_market_int_rates.xls"
filePath = "X:\TESORERIA\07 Prestamos\Préstamos 2016\financial_market_int_rates.xls"
Set WHTTP = CreateObject("WinHTTP.WinHTTPrequest.5.1")
WHTTP.Open "POST", mainUrl, False
WHTTP.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
WHTTP.Open "GET", fileUrl, False
WHTTP.Send
FileData = WHTTP.ResponseBody
Set WHTTP = Nothing
FileNum = FreeFile
Open filePath For Binary Access Write As #FileNum
Put #FileNum, 1, FileData
Close #FileNum
End Sub
所以我認爲問題是ddos保護...或者可能是我已經更新Office 2010到365?
感謝您的時間
DDOS保護是問題的重要組成部分嗎? –
我不確定,我只是在追求它。我已經詳細提出了問題 – Victor
嘗試使用'MSXML2.XMLHTTP'和'MSXML2.ServerXMLHTTP'而不是'WinHTTP.WinHTTPrequest.5.1'。順便說一句你的代碼[對我很好](https://i.stack.imgur.com/wlkJc.png)。 – omegastripes