Excel·VBA下载URL链接网络文件

76 篇文章 26 订阅

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
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛定谔_51

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值