使用 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, "完成"

使用方法:

  1. 将代码保存为 .vbs 文件,例如 提取工作簿名称.vbs
  2. 修改代码中的 strFolderPathstrResultFile 变量,将其替换为实际的目标文件夹路径和结果文件保存路径。
  3. 双击运行该 .vbs 文件。

注意:

  • 确保目标文件夹中存在 Excel 文件。
  • 结果文件将保存在指定的路径下,如果文件已存在,则会被覆盖。
vbs 文件大小:1.66KB