通过其文件路径遍历工作簿中的工作表

时间:2017-09-20 23:01:16

标签: excel vba excel-vba

我想在特定的Excel工作表中打印所有工作表名称。如果我正在为当前工作簿执行此操作,那么这就是我的代码:

For Each sht In ActiveWorkbook.Sheets
      Debug.Print sht.Name
Next sht

我想打印变量中存在的所有工作表的名称,比如sFilePath,这是excel文件的绝对文件路径。如何打印该excel文件中所有工作表的名称?

2 个答案:

答案 0 :(得分:1)

您需要在获取工作表名称之前打开该文件:

Dim sFilePath As String
sFilePath = Application.GetOpenFilename()
Workbooks.Open (sFilePath)

For Each sht In ActiveWorkbook.Sheets
      Debug.Print sht.Name
Next sht

'to close sFilePath workbook
ActiveWorkbook.Close False

希望得到这个帮助。

答案 1 :(得分:1)

打印给定目录中的文件和工作表:

    Sub Main()

    filePath = "C:\Users\jesse\Documents\ExcelTest\"     'folder to search
    currentFile = Dir(filePath & "*.xls*")
    Do Until currentFile = ""

        Debug.Print currentFile
        Set Workbook = Workbooks.Open(filePath & currentFile, False, True)

        For Each Sheet In Workbook.Sheets
            Debug.Print Sheet.Name
        Next Sheet

        Workbook.Close SaveChanges:=False
        currentFile = Dir
   Loop

    Set Workbook = Nothing

End Sub

希望这能解决你的问题。干杯!