WPS宏自动化:批量重命名Excel工作簿的高效方法 点击使用AI助手 了解更多

发布于 2025-01-06 liusiyang 32 编辑

AI 智能搜索

基于灵犀AI办公助手生成
完整内容,请前往灵犀查看

【案例】以下是一堆杂乱无章的表格文件,单从文件名,无法看出什么,只有打开表格,才能从D2单元格中看出其名称。

【结果】现在我们需要以D2单元格的内容对工作簿进行命名,结果如下:

【操作效果】具体操作效果如下:

【代码】具体代码如下,可按ALT+F11打开WPS宏编辑器,复制下面的代码粘贴到编辑器中。

function 获取原文件名() {

Application.ScreenUpdating=false //关闭屏幕刷新

Application.DisplayAlerts=false //关闭提醒

let sh=ThisWorkbook.ActiveSheet //将当前活动工作表赋值给对象sh

p=ThisWorkbook.Path +'/命名后/' //获取当前工作表下的“命名后”文件夹路径

n=sh.Range('a65535').End(xlUp).Row //获取活动工作表最后一行的行号

dw=sh.Range('b1').Value2 //获取B1单元格的内容

let fd = Application.FileDialog(msoFileDialogFilePicker) //打开文件选择器

fd.Filters.Clear() //清除文件选择器内容

fd.Filters.Add('Excel文件', '*.xls;*.xlsx;*.xlsm') //显示EXCEL文件

fd.Title = '请选文件' //设置文件选择器标题

if (fd.Show() != -1) { //如果不选择任何文件

alert('你没选中文件!') //弹出提示

return; //结束退出函数

}

sh.Range('a4:b65535').Value2='' //清空A:B区域

for (let i = 0; i < fd.SelectedItems.Count; i++) { //遍历文件

let f=fd.SelectedItems.Item(i + 1) //将文件名赋值给变量f

let wb = Workbooks.Open(f) //打开工作簿,赋值给对象wb

let dw1 = wb.ActiveSheet.Range(dw).Value2 //获取打开表格指定位置的内容

sh.Cells.Item(i+4,'a').Value2=f //将原文件名写入当前工作表的A列

sh.Cells.Item(i+4,'b').Value2=dw1 //将指定单元格内容写入当前工作表的B列

wb.SaveAs(p+dw1+'.xlsx') //以指定单元格内容另存工作簿

wb.Close(false) //关闭工作表

}

Application.DisplayAlerts=true //开启提醒

Application.ScreenUpdating=true //开启屏幕刷新

alert('命名成功!') //弹出提示

}

【素材下载】点击下方链接,下载文件到本地文件夹,在本地文件夹中打开,点击“表格批量命名”按钮,选择表格文件,即可实现以指定单元格内容对表格进行命名。

https://www.kdocs.cn/l/cjirj2bn8Rkr

原文链接:https://bbs.wps.cn/topic/9545

上一篇: WPS从入门到熟练的快速指南
下一篇: 轻松转换公式为文本:WPS Office智能工具箱指南
相关文章
×