VBS 合并 多个excel 文件为一个文件
创建一个文本文件,拓展名为VBS
将编码格式改为ansi
Dim MyPath, MyName, AWbName,dirName,curVbsDirDim, fso,xlApp Set fso = CreateObject("Scripting.FileSystemObject") curVbsDir=fso.GetFolder(".").Path dirName=InputBox("输入文件的路径","提示",curVbsDir) Set xlApp = WScript.CreateObject("Excel.Application") Dim Wb, WbN,G , Num ,BOX ,fl,curWb xlApp.ScreenUpdating = False Set curWb=xlApp.Workbooks.Add() Num = 0 If Not fso.FolderExists(dirName & "\") Then MsgBox "文件夹" & dirName & "不存在!" Else On Error Goto 0 For Each fl In fso.GetFolder(dirName).Files 'MsgBox fl.Name & Chr(13) & fl.Path If fso.GetExtensionName(fl.Path) = "xls" Or fso.GetExtensionName(fl.Path) = "xlsx" Then Num = Num + 1 Set Wb=xlApp.Workbooks.open(fl.Path) 'curWb.ActiveSheet.Cells(curWb.ActiveSheet.Range("A65536").End(-4162).Row+1, 1) = fl.Name For G = 1 To Wb.Sheets.Count curWb.ActiveSheet.Cells(curWb.ActiveSheet.Range("A65536").End(-4162).Row+1, 1) = fl.Name & " FOR " & Wb.Sheets(G).Name Wb.Sheets(G).UsedRange.Copy curWb.ActiveSheet.Cells(curWb.ActiveSheet.Range("A65536").End(-4162).Row+2, 1) Next WbN = WbN & Chr(13) & Wb.Name Wb.Close False End If Next xlApp.ScreenUpdating = True curWb.SaveAs dirName & "\" & fso.getfolder(dirName).Name & ".xls", 56 xlApp.visible=True xlApp.WindowState=-4137 MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示" End If Set fso = Nothing:Set xlApp=Nothing
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具