文件夹里有多个excel表格,能否批处理,得到每个表格的行数

2025-02-26 13:22:18
推荐回答(1个)
回答1:

1、复制这些代码,放到一个记事本文件中,保存记事本文件,文件名任意,后缀必须把txt改为vbs

2、把文件复制到excel文件所在路径

3、确保所有excel文件都关闭,所有文件都在同一级目录(我的程序没有处理二级目录功能)

4、双击这个vbs文件,等一下,会有一个excel出来(可能没直接显示出来,看一下下方的任务栏)。这个excel列出所有文件名、表格名和每个表格的行数。

5、注意,由于excel本身的问题,如果用了1行,或者根本没内容,都会显示用了1行。如果这个问题很严重,可以再修改一下程序。

6、行数是最后一行的行号,不管前面有多少空行

Set fs = CreateObject("scripting.FileSystemObject")
Set excel = CreateObject("excel.application")
Set resultBookSheet = excel.Workbooks.Add().Sheets(1)
excel.visible = true
resultBookSheet.Visible = True
resultBookSheet.activate
i = 1
For Each fileName In fs.GetFolder(CreateObject("WScript.Shell").CurrentDirectory).Files

If Right(fileName, 4) = ".xls" Then

Set book = excel.Workbooks.Open(fileName)

resultBookSheet.Cells(i, 1) = fs.getfileName(fileName)

For Each sheet In book.Sheets
resultBookSheet.Cells(i, 2) = sheet.Name

resultBookSheet.Cells(i, 3) = sheet.UsedRange.Rows.Count + sheet.UsedRange.Row - 1

i = i + 1
Next

book.Close False

Set book = Nothing
End If
Next