excel - 使用 Internet Explorer 下载多个文件,重命名它们并保存到文件夹
问题描述
我想制作一个 VBA 代码,它可以使用 Internet Explorer 从给定的 URL 下载多个文件。代码应执行以下步骤:
- 在后台打开 IE 并从 URL 链接下载文件。基本上,要下载多个文件,应更改 URL 中间的文件代码以及 URL 末尾的文件名。因此,每个文件都有特定的代码(例如,第一个文件的代码是“45551”,第二个文件的代码是“45552”等)和名称(第一个文件 - “ReportRU2021.10.04.xlsx”,第二个文件 - “ReportUA2021” .10.04.xlsx")。正如您在文件名中看到的那样,有一个日期,我想忽略它,所以在我看来,可以使用通配符“*”。
- 在第 1 步之后,代码应通过删除最后的日期来重命名这些文档(例如,对于第一个文件,它应该是“ReportRU.xlsx”,对于 File2,它应该是“ReportUA.xlsx”等)。下载的文件为 .xlsx 格式;
- 将重命名的文件保存到特定文件夹
我试图将上述所有步骤作为代码,我的尝试如下。那么任何人都可以帮助我完成所有这些步骤吗?非常感谢您提前提供的帮助!
Sub FileFromURLDownloader()
Dim IE As Object, HTMLDoc As Object, URL$
Application.ScreenUpdating = False
Set IE = CreateObject("internetexplorer.application")
filenames = Array("ReportRU*", "ReportUA*")
filecode = Array("45551", "45552")
URLPath = "https://website/api/v1/reportdata/" & filecode & "/filename/" & filenames & "*" & ".xlsx"
For Each file In filenames
With IE
.navigate (URL)
.Visible = False
End With
Application.SendKeys "{TAB}{TAB}{ENTER}"
Application.ScreenUpdating = True
End Sub
解决方案
推荐阅读
- python - 如何找到在 auto_arima() Python 中选择的 p,d,q 值?
- javascript - Moment js 添加月份
- validation - 如何在 Access Query 中使用 CDATE 在转换前验证/清理文本日期
- xslt-1.0 - 我想为每个循环增加一个值。假设表 1、2、3、4、5、6、7、8 中的 No. 列共有 8 个循环值增量
- data-structures - 为什么三重链表不存在?
- php - 无法从 StudentController 更新功能更新学生数据
- kubernetes - 为什么 helm 忽略节点端口部分?
- regex - Ace 编辑器中的多行正则表达式搜索和替换
- visual-studio-code - Vscode intelliSense 不适用于 wx 模块
- c - 字每 2 位符号