api函数URLDownloadToFile函数可以从互联网上下载位流并保存为文件。
URLDownloadToFile函数的语法如下:
HRESULT URLDownloadToFile( LPUNKNOWN pCaller, LPCTSTR szURL, LPCTSTR szFileName, _Reserved_ DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB );
其中主要用到的参数是szURL,表示要下载的文件的URL链接;szFileName参数表示要保存的文件名称或者要保存的文件的完整路径,其它参数一般设置为0即可。
URLDownloadToFile函数的VB声明语法如下:
Public Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Integer, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Integer, ByVal lpfnCB As Integer) As Long
URLDownloadToFile函数只要下载一开始就会返回0,但是并不表示下载一定成功。
在一些小文件的下载上,URLDownloadToFile函数可以起到很好的效果。
以下是用URLDownloadToFile函数下载网易上的股票历史交易数据的代码,其中工作表sheet1的A列是股票代码:
Sub QQ1722187970() Dim oWK As Worksheet Set oWK = Sheet1 Dim sPath As String sPath = Excel.ThisWorkbook.Path & "\下载\" With oWK For i = 2 To .Range("a65536").End(xlUp).Row sGP = Format(.Cells(i, "a"), "000000") sTURL = "http://basic.10jqka.com.cn/api/stock/export.php?export=main&type=simple&code=" & sGP URLDownloadToFile 0, sTURL, sPath & sGP & "_main_simple.xls", 0, 0 Next i End With MsgBox "下载完成" End Sub
发表评论