当前位置: 首页 > news >正文

excel 批量导出图片并指定命名

一、开发环境

打开excel文件中的宏编辑器和JS代码调试

工具-》开发工具-》WPS宏编辑器
在这里插入图片描述
左边是工程区,当打开多个excel时会有多个,要注意不要把代码写到其他工作簿去了
右边是代码区
在这里插入图片描述

 二、编写代码

宏是js语言,因此变量或者方法可以网上搜索。比如搜索js变量、js数组方法等。

 1、循环文件所有图片

for (let pic of ActiveSheet.Shapes)

2、提取图片类型 :==msoPicture、==13

pic.Type == msoPicture

3、提取名称所在列

var picName = pic.TopLeftCell.Offset(r,c).Value2;

4、保存

pic.Copy();
pic.SaveAsPicture(picPathName);

整合代码

/*** CommandButton2_Click Macro*/
function CommandButton2_Click()
{//r,c 图片所在单元格的偏移量,用来做图片的名字var r = 0;var c = -1;SaveAsPic(r,c);
}
function SaveAsPic(r,c){var app = Application.Application,acSh = app.ActiveSheet;// 输入框,用来自定义存图文件夹的名称var folderName = app.InputBox("Enter a folder name to save picture"),reg = new RegExp('[\\\\/:*?\"<>|]');// 输入框,用来自定义存图文件夹的名称var c = app.InputBox("输入名称所在列(相对位置,如:-1)"),reg = new RegExp('[\\\\/:*?\"<>|]');// 如果文件夹的名称不规范,给出错误提示if(folderName == "" || folderName == false || reg.test(folderName) == true){MsgBox("1.文件名不能为空\n\n2.上传的文件名不能包含【\\\\/:*?\"<>|】这些非法字符\n\n建议:修改后重新上传!",jsCritical,"错误提示:")}else{// 新建一个文件夹用来存导出的图片//var res = NewFolder(ThisWorkbook.Path, folderName);//Console.log(res); // 新建文件夹结果for (let pic of ActiveSheet.Shapes){// 如果当前为"图片"、"==13"if (pic.Type == msoPicture){var picName = pic.TopLeftCell.Offset(r,c).Value2;var picPathName = `${ThisWorkbook.Path}\\${folderName}\\${picName}.jpg`;console.log(picPathName);pic.Copy();pic.SaveAsPicture(picPathName);console.log("保存完毕");}}}
}

三、运行结果

相关文章:

  • FPGA 纯逻辑NVME raid0 IP核
  • 常用设计模式在 Spring Boot 项目中的实战案例
  • 当当狸智能天文望远镜 TW2 | 用科技触摸星辰,让探索触手可及
  • 第十一节:图像处理基础-图像阈值处理
  • 16.Excel:打印技巧
  • ROS2: 服务通信
  • Android 数据持久化之数据库存储 Room 框架
  • RDD的处理过程
  • 远程桌面软件推荐
  • baobab查看磁盘空间占用
  • 使用node.js创建一个简单的服务器
  • LLaMA-Factory微调DeepSeek-R1-Distill-Qwen-7B
  • 微软输入法常用快捷键介绍以及调教技巧
  • 【Hive入门】Hive数据导入与导出:批量操作与HDFS数据迁移完全指南
  • 设计模式之状态模式
  • 企业该如何选择合适的DDOS防护?
  • 交替序列长度的最大值
  • AI辅助DevOps与自动化测试:重构软件工程效率边界
  • 2025年数字藏品行业DDoS攻防指南:技术升级与合规防御双轨制
  • 系统思考:教育焦虑恶性循环分析
  • 邯郸一酒店办婚宴发生火灾,新郎母亲:饭没吃成酒店还要收费
  • 上汽享道出行完成13亿元C轮融资,已启动港股IPO计划
  • 数理+AI+工程,上海交大将开首届“笛卡尔班”招生约20名
  • 看展览|2025影像上海艺博会:市场与当代媒介中的摄影
  • 开局良好,我国第一季度广告业务收入保持较快增速
  • 第1现场 | 印巴冲突:印50多年来首次举行大规模民防演习