0
我一直在嘗試編寫一個宏,該宏將列出我的目錄中每個工作簿的工作表名稱。這些文件存儲在各種文件夾和子文件夾中,所以我希望它能夠將所有內容都提取出來,並且可以從整個輸出中推斷出我需要的信息。這段代碼是我在本網站用戶的幫助下整理的,但我仍然沒有得到期望的結果。有人請幫忙!列出存儲在各種文件夾和子文件夾中的工作簿中的所有工作表 - Excel,VBA
Sub machinegun()
FileType = "*.xls*"
OutputRow = 2
Set fso = CreateObject("Scripting.FileSystemObject")
Set Folder = fso.GetFolder("G:")
Set Curr_File = (filepath & FileType)
For Each Subfolder In Folder.Subfolders
Do Until Curr_File = ""
Set Fldr.wkbk = Workbooks.Open(filepath & Curr_File, False, True)
ThisWorkbook.ActiveSheet.Range("A" & OutputRow) = Curr_File
ThisWorkbook.ActiveSheet.Range("B" & OutputRow).ClearContents
OutputRow = OutputRow + 1
For Each Sht In FldrWkbk.Sheets
ThisWorkbook.ActiveSheet.Range("B" & OutputRow) = Sht.Name
ThisWorkbook.ActiveSheet.Range("A" & OutputRow).ClearContents
OutputRow = OutputRow + 1
Next Sht
FldrWkbk.Close SaveChanges:=False
Loop
Next
End Sub
看起來它應該做你需要它做的事情。你能指定你不滿意的是什麼嗎? – Gordon
我想我最初的抱怨是它不會產生任何結果......我有一個版本的代碼可以一次做一個文件夾,但我需要它做近400個,這是不可持續的。 – brianabrownesq
對不起,我讀到你的問題的方式,聽起來並不嚴重。我現在看到你沒有正確地循環瀏覽文件和子文件夾,所以希望Vityata的答案能夠對該部分進行排序。 – Gordon