首页 > 解决方案 > 使用 Internet Explorer 下载多个文件,重命名它们并保存到文件夹

问题描述

我想制作一个 VBA 代码,它可以使用 Internet Explorer 从给定的 URL 下载多个文件。代码应执行以下步骤:

  1. 在后台打开 IE 并从 URL 链接下载文件。基本上,要下载多个文件,应更改 URL 中间的文件代码以及 URL 末尾的文件名。因此,每个文件都有特定的代码(例如,第一个文件的代码是“45551”,第二个文件的代码是“45552”等)和名称(第一个文件 - “ReportRU2021.10.04.xlsx”,第二个文件 - “ReportUA2021” .10.04.xlsx")。正如您在文件名中看到的那样,有一个日期,我想忽略它,所以在我看来,可以使用通配符“*”。
  2. 在第 1 步之后,代码应通过删除最后的日期来重命名这些文档(例如,对于第一个文件,它应该是“ReportRU.xlsx”,对于 File2,它应该是“ReportUA.xlsx”等)。下载的文件为 .xlsx 格式;
  3. 将重命名的文件保存到特定文件夹

我试图将上述所有步骤作为代码,我的尝试如下。那么任何人都可以帮助我完成所有这些步骤吗?非常感谢您提前提供的帮助!

 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

标签: excelvba

解决方案


推荐阅读