我正在浏览 VBA 中的 100 多个 excel 文件,提取某些数据并将其复制到主工作簿中的主电子表格中。我有一个驻留在这个主电子表格中的 VBA 脚本。
我试图让每个源工作簿在我打开它并得到我需要的东西后关闭。它看起来像这样:
dim main_wb
dim source_wb
set main_wb = activeworkbook
Loop thru workbook names
set source_wb = workbooks.open(a_workbook_name)
do some stuff
eventually copy a few rows from various sheets into the main wb
source_wb.close()
set source_wb = Nothing
End Loop
问题是它看起来像系统继续在项目资源管理器中保持文件打开......最终它耗尽了内存或其他东西。所有文件单独工作正常。只有当我尝试一次处理所有这些时,我才会遇到问题。工作簿“closes()”但项目仍存在于开发人员窗口的项目资源管理器中。
我如何告诉它关闭一个项目。我需要能够,没有 BS,关闭项目并继续下一个项目以获取数百甚至可能数千个文件 - 自动,在代码中,无需用户干预。