首页 > 解决方案 > Excel vba 宏可打开其他 excel 文件并在该文件中运行宏

问题描述

我有一个 excel 文件列表(数百个),每个文件都包含一个宏来更新一些数据。

现在我想创建一个脚本来打开每个文件并在打开的文件中调用宏,以便在每个文件中更新这些数据。

所以我创建了一个名为“call_all_macros.xlsm”的新excel文件,并创建了脚本来遍历所有文件并调用宏。不幸的是它不起作用,它正确迭代,似乎它调用宏并保存它,但实际上数据没有更新(虽然文件正在保存)。

这是我用来调用宏的代码,有时它在这里不起作用:

For Each fileName In fileCollection
       Set wb = eApp.Workbooks.Open(fileName)
       wb.Application.Run macro_to_be_called
       
       wb.Save
       wb.Close
       Debug.Print "Processed " & fileName  'Print progress on Immediate window
   Next fileName 

除了没有被调用的宏之外,一切都在工作。难道我做错了什么?

被调用的宏获取 ActiveWorkbook 并在 ActiveWorkbook 的某个单元格中写入一些数据。也许它在弄清楚 Activeworkbook 是什么方面存在冲突?

标签: excelvba

解决方案


推荐阅读