使用 VBS 获取目录下 Excel 工作簿名称
' 定义目标目录和结果文件路径
strFolderPath = "C:目标文件夹" ' 请将此处替换为实际的目标文件夹路径
strResultFile = "C:结果.xlsx" ' 请将此处替换为结果文件保存路径
' 创建 Excel 对象和结果工作簿
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Add
' 设置结果工作表和列标题
Set objSheet = objWorkbook.Worksheets(1)
objSheet.Cells(1, 1).Value = "文件名"
objSheet.Cells(1, 2).Value = "工作簿名称"
' 初始化行计数器
intRow = 2
' 遍历目标目录下的所有 Excel 文件
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strFolderPath)
For Each objFile In objFolder.Files
If LCase(objFSO.GetExtensionName(objFile.Name)) = "xls" Or LCase(objFSO.GetExtensionName(objFile.Name)) = "xlsx" Then
' 打开 Excel 文件
Set objWorkbookTemp = objExcel.Workbooks.Open(objFile.Path)
' 遍历工作簿中的所有工作表
For Each objSheetTemp In objWorkbookTemp.Worksheets
' 将文件名和工作表名称写入结果工作表
objSheet.Cells(intRow, 1).Value = objFile.Name
objSheet.Cells(intRow, 2).Value = objSheetTemp.Name
intRow = intRow + 1
Next
' 关闭 Excel 文件
objWorkbookTemp.Close
End If
Next
' 保存结果工作簿
objWorkbook.SaveAs strResultFile
' 关闭 Excel 对象
objExcel.Quit
' 释放对象
Set objFSO = Nothing
Set objFolder = Nothing
Set objFile = Nothing
Set objExcel = Nothing
Set objWorkbook = Nothing
Set objSheet = Nothing
Set objWorkbookTemp = Nothing
Set objSheetTemp = Nothing
' 提示脚本执行完毕
MsgBox "提取完成!", vbInformation, "完成"
使用方法:
- 将代码保存为
.vbs
文件,例如提取工作簿名称.vbs
。 - 修改代码中的
strFolderPath
和strResultFile
变量,将其替换为实际的目标文件夹路径和结果文件保存路径。 - 双击运行该
.vbs
文件。
注意:
- 确保目标文件夹中存在 Excel 文件。
- 结果文件将保存在指定的路径下,如果文件已存在,则会被覆盖。
1.66KB
文件大小:
评论区