0
我想打印特定文件夹下所有excel文件的列表。除文件名外,我还应该能够打印excel文件下所有表格的名称。Excel VBA列出特定文件中的所有工作表
下面是我打印文件名的代码示例如下。但是,我无法弄清楚如何阅读该文件下的图纸名称列表?
Sub ButtonRun_Excel_Compare_Report_Click()
Sheet1.Cells.Clear
ShowFolderList ("D:\temp")
End Sub
Sub ShowFolderList(folderspec)
Dim fs, f, f1, fc, s, sFldr
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set fc = f.SubFolders
For Each f1 In fc
If Right(f1, 1) <> "\" Then ShowFolderList f1 & "\" Else ShowFolderList f1
Next
Set fc = f.Files
Rowcnt = 1
For Each f1 In fc
If f1.Name Like "*.xls" Then
'How to loop through the Sheets under exach file?
Sheet1.Cells(Rowcnt, 1) = f1.Name
'Sheet1.Cells(Rowcnt, 2) = f1.Path
Rowcnt = Rowcnt + 1
'Debug.Print folderspec & f1.Name
End If
Next
End Sub
感谢帮助。由于
如果需要满足所有片材类型(包括图表工作表),你必须通过打开工作簿和循环床单。 – Rory
使用[this](http://stackoverflow.com/questions/14358443/vba-list-of-sheets-hyperlinked)或[this](http://stackoverflow.com/questions/10654797/how-can- i-use-vba-list-all-worksheets-in-a-workbook-in-a-string)回答并将其包装在“Workbook.Open”和“.Close”命令中。 – nhee
如果您不想打开每个Excel工作簿以获取工作表名称,则可以使用ADO并查询已关闭的工作簿。例如[这里](http://www.mrexcel.com/forum/excel-questions/47074-get-worksheet-names-closed-workbook.html)。 – dee