excel - 如何将多个 xlsb 文件合并/合并为一个
问题描述
我需要使用 vbscript 将多个 xlsb 文件合并为一个,它们都有一个标题,但在此合并中只需要第一个文件的标题,其他文件的标题应该被忽略。任何人都知道如何做到这一点?
我试过这段代码......它运行良好,但我需要它忽略其他文件的标题:
strPathSrc = "C:\Users\user\Documents\teste_merge\" ' Source files folder
strMaskSrc = "*.xlsb" ' Source files filter mask
iSheetSrc = 1 ' Sourse sheet index or name
strPathDst = "C:\Users\user\Documents\teste_merge\Result.xlsb" ' Destination file
iSheetDst = 1 ' Destination sheet index or name
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkBookDst = objExcel.Workbooks.Open(strPathDst)
Set objSheetDst = objWorkBookDst.Sheets(iSheetDst)
Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace(strPathSrc)
Set objItems = objFolder.Items()
objItems.Filter 64 + 128, strMaskSrc
objExcel.DisplayAlerts = False
For Each objItem In objItems
Set objWorkBookSrc = objExcel.Workbooks.Open(objItem.Path)
Set objSheetSrc = objWorkBookSrc.Sheets(iSheetSrc)
GetUsedRange(objSheetSrc).Copy
Set objUsedRangeDst = GetUsedRange(objSheetDst)
iRowsCount = objUsedRangeDst.Rows.Count
objWorkBookDst.Activate
objSheetDst.Cells(iRowsCount + 1, 1).Select
objSheetDst.Paste
objWorkBookDst.Application.CutCopyMode = False
objWorkBookSrc.Close
Next
Function GetUsedRange(objSheet)
With objSheet
Set GetUsedRange = .Range(.Cells(1, 1), .Cells(.UsedRange.Row + .UsedRange.Rows.Count - 1, .UsedRange.Column + .UsedRange.Columns.Count - 1))
End With
End Function
解决方案
推荐阅读
- java - 无法获取特定捐赠者的 searchBook 方法
- reactjs - 要在 firebase 中应用的产品包标识符名称
- prestashop - 在 Prestashop 的结帐页面中删除字段
- django - 更改 django_migrations 架构
- javascript - 如何使用 javascript 展平嵌入图像的 PDF
- ios - 如何解决 SwiftUI 中的“编译器无法进行类型检查...”错误?
- php - 使用 Symfony 命令类启动 Mercure Hub 服务器 - 问题 [Symfony]
- swift - SwiftUI 条件 .frame 视图修饰符
- node.js - 将节点 Docker 容器与 Docker-Compose 同步
- java - 检查列表是否的最简单方法
在java中有重复项