【WPS应用案例】批量合并工作簿,免费实现终极会员功能 |
您所在的位置:网站首页 › wps拆分文件需要会员吗 › 【WPS应用案例】批量合并工作簿,免费实现终极会员功能 |
今天这个案例是批量操作的终极应用,学会这个案例,今后的任何批量操作,你都可以为所欲为。 【案例】现在文件夹中有很多个工作簿,我们需要将每个工作簿的活动工作表数据合并到一起。 相当于下面这个会员功能: 现在我们用JS宏来免费实现这个功能。 【操作效果】具体操作效果如下: 【代码】具体代码如下,可按ALT+F11打开WPS宏编辑器,复制下面的代码粘贴到编辑器中。 function 合并工作簿() { let data = [] //定义名为data的数组,用于存放合并后的数据 let fd = Application.FileDialog(msoFileDialogFilePicker) //打开文件选择器 fd.Filters.Clear() //清除文件选择器内容 fd.Filters.Add('Excel文件', '*.xls;*.xlsx;*.xlsm') //显示EXCEL文件 fd.Title = '请选文件' //设置文件选择器标题 if (fd.Show() != -1) { //如果不选择任何文件 alert('你没选中文件!') //弹出提示 return; //结束退出函数 } t = parseInt(InputBox("请输入标题行数","标题行数",1)); //标题行数,接受用户输入 for (let i = 0; i < fd.SelectedItems.Count; i++) { //遍历文件 let f=fd.SelectedItems.Item(i + 1) //将文件名赋值给变量f let wb = Workbooks.Open(f) //打开工作簿,赋值给对象wb let sh = wb.ActiveSheet //将活动工作表赋值给对象sh let ar = sh.Range('A1').CurrentRegion.Value2 //将活动工作表数据写入数组ar ar=ar.map((col)=>['['+f+']'+sh.Name,...col]) //第一列添加工作簿和工作表名 wb.Close(false) //关闭工作簿(不保存) if(i > 0) ar.splice(0,t) //去掉标题行 data = data.concat(ar) //合并数组 } data[0][0]='工作簿工作表名' //在第一列首行写入标题 Workbooks.Add() //新建工作簿 let rg=ActiveSheet.Range('a1') rg.Resize(data.length,data[0].length).Value2=data //将合并合并后的数据写入新工作簿活动工作表 } 【素材下载】点击下方链接,下载文件本地文件夹,在本地文件夹中打开,点击“批量合并工作簿”按钮,即可使用合并功能。 https://kdocs.cn/l/crHXJZE0v0qr |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |