首页 最新文章网站编程正文

通过VBA下载远程文件的方法


VB语言虽然已经逐渐没落,已经没有多少人在使用他了,但是如果和Excel结合起来,将毫无疑问的大大提升我们的工作效率,只是很多时候并未引起足够的重视,或者说很少有人知道,其实它可以完成你几乎能想得到的所有功能,更重要的是它是一种所见即所得的语言,无需编译,无需部署更不用进行一些列的发布等重操作。
当然了,这依赖于对数据分析与统计的实际需要,也依赖于对excel高阶运用的深刻理解,如果只是把excel作为单纯的数据编辑等简单的应用,那么VBA的使用无论如何也是没有场景的。
近期我把实际工作中用到的一些共通的方法梳理出来,目的是希望大家能够也运用的自己的工作中,即使用不到,至少也知道它能干什么,这或许能为你未来的工作拓宽一下思路。
今天主要说的是一个远程下载的方法,可以通过一个远程下载的路径,将远程文件下载到本地,并重命名。只需把远程下路径和重命名作为入参传给主函数即可。
提前祝各位圣诞节快乐!!
'依赖urlmon.dll:微软Microsoft对象链接和嵌入相关模块
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
'******************************************
'*功能:远程文件下载主函数
'******************************************
Public Function dowNoadTolocal(ByVal Down_link As String, ByVal FileName As String)
    If downloadFile(Down_link, FileName) = True Then
        MsgBox "Download Successfully"
    Else
        MsgBox "Download Failed"
    End If
End Function
'******************************************
'*功能:文件下载到本地并重命名
'*参数:远程下载路径;重命名文件名
'*返回值:下载成功或者失败
'******************************************
Public Function downloadFile(ByVal strURL As String, ByVal strFile As String) As Boolean
    application.EnableCancelKey = xlDisabled
    Dim lngReturn&
    '用lngReturn接收返回的结果
    lngReturn = URLDownloadToFile(0, strURL, strFile, 0, 0)
    '注意:URLDownloadToFile函数返回0表示文件下载成功
    '判断返回的结果是否为0,则返回True,否则返回False
    If lngReturn = 0 Then
        downloadFile = True
    Else
        downloadFile = False
    End If
End Function


评论

百度搜索

站点信息

  • 文章总数:511
  • 页面总数:7
  • 分类总数:29
  • 标签总数:869
  • 评论总数:286
  • 浏览总数:6900185
Copyright ©2019-2020.Powered by©刘相涛 辽ICP备14000512号-5