我正在處理VBA中的100多個excel文件,提取某些數據並將其複製到主工作簿中的主電子表格中。我有一個駐留在這個主電子表格中的VBA腳本。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
的問題是,這似乎是系統持續不斷地對文件中的項目資源管理器打開...並最終耗盡內存什麼的。所有文件都能正常工作。只有當我試圖一次性處理所有問題時纔會出現問題。工作簿「關閉()」,但項目仍然存在於開發人員窗口的項目資源管理器中。
如何告訴它關閉一個項目。我需要能夠,沒有BS,關閉項目,並繼續下一個數百和可能數千個文件 - 自動,在代碼中,沒有來自用戶的干預。
一年或兩年前,我看到有關與Google桌面搜索相關的問題 - 您有嗎?也可能與某些COM加載項(Acrobat?)相關聯 –
我最好看看這個:當文件被手動打開和關閉時,封閉的工作簿仍然存在於VBA Project Explorer窗口中 - 而且這太容易了最終編輯VBA的模塊看起來像你想要工作的項目,並且因爲你實際上在爲一個具有相同名稱的文件工作'Ghost Project'而失去了工作 - 一個實際上並沒有打開的文件,但仍然出現在Project Explorer中。 –