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("保存完毕");}}}
}

三、运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/82369.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

yolov5基础--yolov5源码阅读(common.py)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 博主简介&#xff1a;努力学习的22级本科生一枚 &#x1f31f;​&#xff1b;探索AI算法&#xff0c;C&#xff0c;go语言的世界&#xff1b;在迷茫中寻找光芒…

5.0.5 变换(旋转、缩放、扭曲)

WPF变换可以产生特殊效果,如平移、旋转、扭曲。 变换类 描述TranslateTransform沿着X轴和Y轴平移ScaleTransform 沿着定义的中心点缩放RotateTransform沿着定义的中心点旋转SkewTransform 扭曲元素MatrixTransfrom提供3x3矩阵,用于定义一个自定义变换 1…

如何设置内网映射端口到外网访问?哪些软件可以进行端口映射?

大多数时候我们所使用的服务器都是在内网搭建的&#xff0c;而且内网是可以访问外网的&#xff0c;但外网是没法直接访问内网IP和端口服务的。也就是说外网无法直接访问到内网的网络地址&#xff0c;需要大家去搭建一个内外网互通的桥梁&#xff0c;把内网服务器指定端口映射到…

养生:塑造健康生活的良方

养生是一场贯穿生活的自我关爱行动&#xff0c;从饮食、运动、睡眠到心态调节&#xff0c;每一个环节都对健康有着深远影响。以下为你带来全面且实用的养生策略。 饮食养生&#xff1a;科学搭配&#xff0c;呵护肠胃 合理规划三餐&#xff0c;遵循 “早营养、午均衡、晚清淡”…

YOLOv12云端GPU谷歌免费版训练模型

1.效果 2.打开 https://colab.research.google.com/?utm_sourcescs-index 3.上传代码 4.解压 !unzip /content/yolov12-main.zip -d /content/yolov12-main 5.进入yolov12-main目录 %cd /content/yolov12-main/yolov12-main 6.安装依赖库 !pip install -r requirements.…

机器人手臂的坐标变换:一步步计算齐次矩阵过程 [特殊字符]

大家好!今天我们来学习如何计算机器人手臂的坐标变换。别担心,我会用最简单的方式解释这个过程,就像搭积木一样简单! 一、理解问题 我们有一个机器人手臂,由多个关节组成。每个关节都有自己的坐标系,我们需要计算从世界坐标系(W)到末端执行器(P₃)的完整变换。 二、已…

CSS中的@import指令

一、什么是import指令&#xff1f; import 是CSS提供的一种引入外部样式表的方式&#xff0c;允许开发者在CSS文件中引入其他CSS文件&#xff0c;或者在HTML的<style>标签中引入外部样式。与常见的<link>标签相比&#xff0c;import 提供了一种更“CSS原生”的样式…

[学成在线]23-面试题总结

1. 详细说说你的项目吧 从以下几个方面进行项目介绍: 项目的背景&#xff0c;包括: 是自研还是外包、什么业务、服务的客户群是谁、谁去运营等问题。项目的业务流程项目的功能模块项目的技术架构个人工作职责个人负责模块的详细说明&#xff0c;包括模块的设计&#xff0c;所…

C++编程语言:标准库:标准库概观(Bjarne Stroustrup)

第30章 标准库概观(Standard-Library Overview) 目录 30.1 引言 30.1.1 标准库设施 30.1.2 设计约束 30.1.3 描述风格 30.2 头文件 30.3 语言支持 30.3.1 对initializer_list的支持 30.3.2 对范围for的支持 30.4 异常处理 30.4.1 异常 30.4.1…

spring5.x讲解介绍

Spring 5.x 是 Spring Framework 的重要版本升级&#xff0c;全面拥抱现代 Java 技术栈&#xff0c;其核心改进涵盖响应式编程、Java 8支持、性能优化及开发模式创新。以下从特性、架构和应用场景三个维度详细解析&#xff1a; 一、核心特性与架构改进 Java 8 全面支持 Spring …

【C++进阶】第2课—多态

文章目录 1. 认识多态2. 多态的定义和实现2.1 构成多态的必要条件2.2 虚函数2.3 虚函数的重写或覆盖2.4 协变(了解)2.5 析构函数的重写2.6 override和final关键字2.7 重载、重写、隐藏对比 3. 纯虚函数和抽象类4. 多态原理4.1 虚函数表指针4.2 多态的实现4.3 静态绑定和动态绑定…

Dive into LVGL (1) —— How LVGL works from top to down

0.briefly speaking 由于工作原因&#xff0c;最近开始接触到一些图形图像处理相关的知识&#xff0c;在这个过程中逐渐接触到了LVGL。作为一个开源的图形库&#xff0c;LVGL可以高效地为MCU、MPU等嵌入式设备构建美观的UI界面。我的手头也正好有一块集成了Vivante 2.5D GPU的…

【HarmonyOS 5】鸿蒙中进度条的使用详解

【HarmonyOS 5】鸿蒙中进度条的使用详解 一、HarmonyOS中Progress进度条的类型 HarmonyOS的ArkUI框架为开发者提供了多种类型的进度条&#xff0c;每种类型都有其独特的样式&#xff0c;以满足不同的设计需求。以下是几种常见的进度条类型&#xff1a; 线性进度条&#xff08;…

OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——gmp

准备工作 请依照这篇文章搭建环境 OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——环境配置_openharmony交叉编译-CSDN博客 下载 wget https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz 解压 tar -xf gmp-6.3.0.tar.xzcd gmp-6.3.0/ 环境变量 e…

量化交易策略的运行

✅ 什么是“策略的运行”&#xff1f; 在量化交易系统中&#xff0c;“策略的运行”并不一定意味着“每个策略对应一个线程”&#xff0c;但在大多数实际实现中&#xff0c;确实会使用线程、任务、协程或进程等形式来实现每个策略的独立调度与执行。 “运行”意味着策略开始生…

开平机:从原理到实践的全面技术剖析

一、开平机核心模块技术解析 1. 校平辊系的力学建模与辊型设计 校平机精度核心在于辊系设计&#xff0c;需通过弹塑性力学模型计算变形量。典型校平辊配置参数&#xff1a; 辊径比&#xff1a;校平辊直径&#xff08;D&#xff09;与板材厚度&#xff08;t&#xff09;需满足…

2、实验室测控系统 - /自动化与控制组件/lab-monitoring-system

76个工业组件库示例汇总 实验室测控系统开发组件 这是一个专为实验室设备数据采集与分析设计的可视化测控系统组件。采用工业风格界面设计&#xff0c;提供了丰富的动态数据展示与分析功能&#xff0c;可应用于各类实验室环境中的设备监控和数据处理。 功能特点 多设备管理…

在 Kotlin 中什么是委托属性,简要说说其使用场景和原理

在 Kotlin 中&#xff0c;属性委托和类委托是两种通过 by 关键字实现的强大特性&#xff0c;它们通过“委托”机制将行为或实现逻辑委托给其他对象&#xff0c;从而实现代码的复用和解耦。 1 属性委托 定义&#xff1a; 允许把属性的 get 和 set 方法的具体实现委托给另一个对…

AI星智协脑:智能驱动的高效协作管理平台全解读

前言 想象一下&#xff1a;早上刚开电脑&#xff0c;十几条未读消息如机关枪般扫射而来&#xff0c;各路任务像陨石雨一样砸向你&#xff0c;会议排得比热播剧还密集&#xff0c;文档版本堪比宫斗剧剧情反转&#xff0c;同事围着你转圈追KPI&#xff0c;活脱脱一场《职场大逃杀…

Web 架构之数据读写分离

文章目录 一、引言二、数据读写分离原理2.1 基本概念2.2 工作流程 三、数据读写分离的实现方式3.1 基于中间件实现3.2 应用程序层面实现 四、常见问题及解决方法4.1 数据一致性问题4.2 从数据库负载均衡问题4.3 主从复制故障问题 五、思维导图六、总结 一、引言 在 Web应用的开…