【WPS应用案例】JS宏批量将工作簿合并为工作表,免费实现会员功能
创作者俱乐部成员
【案例】在下面的文件夹中,有多个工作簿,现在需要将所有工作簿中的工作表合并到一个新工作簿中,并且新工作簿的每个工作表以”原工作簿名+原工作表名“命名。
【结果】结果如下图所示:
相当于这个会员功能:
但现在我们要用免费的方法,不需要会员。
【操作效果】具体操作效果如下:
【代码】具体代码如下,可按ALT+F11打开WPS宏编辑器,复制下面的代码粘贴到编辑器中。
function 将多个工作簿合并为多个工作表(){
//本表所在文件夹下的待合并文件夹,可以根据实际情况自己更换
p = ThisWorkbook.Path + "\\待合并文件\\"
f = Dir(p+'*.xls*') //遍历excel文件
let nb = Workbooks.Add() //新建一个工作簿定义为nb
while(f){ //循环直到文件名不为空
fn=f.replace('.xlsx','').replace('.xls','') //得到原工作簿名称(不带后缀)
let wb = Workbooks.Open(p + f) //打开要合并的工作簿
for(sh of wb.Sheets){
sh.Name=fn+sh.Name //用“原工作簿名+原工作表名”命名
sh.Copy(nb.Sheets.Item(1)) //复制工作表到新工作簿中
}
wb.Close(false) //关闭要合并的工作簿
f = Dir() //循环下一个文件
}
}
【素材下载】点击下方链接,下载文件本地文件夹,并在文件夹中新建一个名为”待合并文件“的文件夹。
https://kdocs.cn/l/clU0TALZdG9m
WPS函数专家
创作者俱乐部成员
创作者俱乐部成员
创作者俱乐部成员
创作者俱乐部成员