教程 | 写了那么多文件下载的方法?还是ExcelVBA实现最简单

写在前面

无论是流行的各类网盘还是网页内嵌的附件,下载的本质都是需要通过http协议对文件的信息流进行处理。

这对于普通用户来说是比较常见的下载方式,与网络爬虫解析网页元素不同,文件下载依赖定位文件的位置,当然,爬虫的内容可能也包括文件下载,从这个意义上来讲,文件下载只是网络爬虫的一个方面。

本文告诉你一种通过VBA编码实现的下载远程文件的方法,并制作成了demo,需要的朋友可以按文末的方法下载并修改使用。

设计思路

笔者(公众号:URItker)不喜欢舍近求远,不理解那些总去远方淘金而忽略脚下的金矿的行为。

urlmon.dll就是本文指的金矿,它是微软Microsoft对象链接和嵌入相关模块。

和该模块相关的方法定义如下:

※上述代码考虑了不同office版本的兼容性问题。

其它逻辑

上面提到的URLDownloadToFile函数可以从指定的地址下载文件到本地,默认会存放在VBA源文件所在的路径。

上述方法是核心方法,不宜添加太多其它无关的逻辑,可以设置入口函数调用后添加一些友好提示,这样可以降低不同方法之间的耦合性,同时提升核心方法的纯粹性,这遵循了编码规范中的单一性原则。

写在最后

该方法完全可以封装成ocx或dll插件使用,毕竟文件下载的场景还是挺普遍的。有兴趣的朋友可以自己尝试一下,封装完别忘了分享一下哟(公众号:URItker)

本文介绍的方法已经做成了demo,可以在公众号后台回复“下载文件”获取。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容