简体   繁体   中英

Excel VBA list all sheets in a specific file

I am trying to print a list of all the excel files under a specific folder. Along with the file names, I should also be able to print the names of all the sheets under the excel file.

Below is a sample of my code for printing the file names is as below. However, I am not able to figure out how to read the list of sheet names under the file?

    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

Appreciate the help. Thanks

You'll have to open the workbook and loop through the sheet objects

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM