Excel VBA列出特定文件中的所有工作表

时间:2015-06-24 12:19:09

标签: excel vba excel-vba

我正在尝试打印特定文件夹下的所有excel文件的列表。除了文件名,我还应该能够在excel文件下打印所有工作表的名称。

下面是我打印文件名的代码示例如下。但是,我无法弄清楚如何阅读文件下的工作表名称列表?

    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

感谢帮助。感谢

1 个答案:

答案 0 :(得分:2)

您必须打开工作簿并遍历工作表对象

Application.Workbooks.Open Filename:=folderspec & f1.Name
For i = 1 to ActiveWorkbook.Sheets.Count
    strFlenme = ActiveWorkbook.FullName
    strShtNme = ActiveWorkbook.Sheets(i).Name
    Debug.print strFlenme & " - " & i & " '" & strShtNme & "'" 
Next