【问题标题】:Is there a way to open Excel files from a folder, perform actions, then close or delete the files using a VBA macro?有没有办法从文件夹中打开 Excel 文件,执行操作,然后使用 VBA 宏关闭或删除文件?
【发布时间】:2022-11-10 08:55:18
【问题描述】:

我想;

  • 从特定源文件夹(例如 D:\My Drive\EM SSC\PA\AttNew)获取文件列表
  • 打开第一个源文件(所有 Excel 文件,格式完全相同)
  • 运行一个宏,将某些字段从打开的文件复制到另一个 Excel 文件 (C:\Users\r5\Documents\DataFile_v1.xlsx )
  • 关闭源文件(最好将其删除或移动到其他文件夹)
  • 从列表中打开下一个源文件
  • 继续直到处理完所有源文件
  • 保存数据表文件

新的 Excel 源文件每天都会自动复制到源文件夹中,所以我需要打开每个源文件,将数据复制到我的表中,然后删除文件,为接下来的文件做好准备。

我只能完成与将数据字段从单个源文件复制到数据表相关的步骤。我不确定如何进行迭代部分来打开一个又一个文件。我不是经验丰富的 VBA 用户。我需要打开一个源文件,将数据从它复制到我的表中,然后关闭/删除源文件并继续下一个源文件。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    使用任务计划程序运行一个 bat 文件,该文件运行一个 .vbs 以在您的 excel 文件中打开和运行宏。

    bat 文件将包含以下内容 “D:我的 DriveEM SSCPAAttNewAutomation.vbs”

    .vbs 文件将类似于以下内容

    Set xlsxApp = CreateObject("Excel.Application")
    xlsxApp.Visible = True
    

    设置 xlsxWorkbook = xlsxApp.Workbooks.Open("T:Customer Service OfficeEuanPSLPOAutomationProject.xlsm") xlsxApp.Run("ActivateMerge")

    【讨论】:

      猜你喜欢
      • 2019-08-13
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多