2种下载方式,可用于下载URL图片、网页等
#If Win64 Then
Private Declare PtrSafe 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
Private Declare PtrSafe Function DoFileDownload Lib "shdocvw.dll" (ByVal lpszFile As String) As Long
#ElseIf Win32 Then
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
Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal lpszFile As String) As Long
#End If
Sub url_dowmload()
'下载url链接的文件,保存路径已存在会覆盖文件,网页文件下载为htm与“另存为”一致
Dim url As String, save_path As String, isdown As Long, fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
url = "https://c-ssl.duitang.com/uploads/blog/202111/18/20211118233202_eec9d.jpeg"
save_path = ThisWorkbook.path & "\" & fso.GetFileName(url)
isdown = URLDownloadToFile(0, url, save_path, 0, 0)
If isdown = 0 Then Debug.Print "下载成功:" & save_path Else Debug.Print "下载失败:" & save_path
End Sub
Sub url_dowmload另存为()
'另存为,会弹窗提示是否下载及保存路径(较为鸡肋),网页文件下载为htm
Dim url As String, dowmload As String
url = "https://c-ssl.duitang.com/uploads/blog/202111/18/20211118233202_eec9d.jpeg"
dowmload = StrConv(url, vbUnicode)
Call DoFileDownload(dowmload)
End Sub