Excel:vba实现批量插入图片批注


实现的效果:

实现的代码如下:

Sub InsertImageNamesAndPictures()Dim PicPath As StringDim PicName As StringDim PicFullPath As StringDim RowNum As IntegerDim Name As StringDim Comment As CommentDim folder As FileDialog '定义文件选择对话框' 清空单元格中的内容和图片,防止有脏数据Cells.ClearFor Each Pic In ActiveSheet.PicturesPic.DeleteNext Pic'忽略出现的错误,继续执行后面的代码,假如这个图片不存在或者有所损坏,会继续执行下个图片的插入On Error Resume Next' 设置你的图片文件夹路径(两种获取文件路径的方法)'PicPath = "C:\Users\HUAWEI\Pictures\Screenshots\"'上面的是直接写出文件路径,下面的是动态的选择选择路径'set folder创建并设置一个文件夹选择对话框Set folder = Application.FileDialog(msoFileDialogFolderPicker)'这里等于-1是用户选择并点击“确定”了文件夹,如果用户点击取消没有选择文件夹,就会返回0If folder.Show = -1 Then'folder.SelectedItems(1)返回了文件夹的路径,只不过最后没有\。PicPath是图片路径,最后加上\PicPath = folder.SelectedItems(1) & "\"ElseMsgBox "未选择文件夹,程序结束"Exit SubEnd If' 初始化行号RowNum = 1' 获取文件夹中的第一个文件名PicName = Dir(PicPath & "*.*")' 遍历所有图片文件Do While PicName <> ""' 去掉文件扩展名Name = Left(PicName, InStrRev(PicName, ".") - 1)' 将文件名插入到 A 列Cells(RowNum, 1).value = Name' 拼接完整路径PicFullPath = PicPath & PicName' 在 A 列单元格添加批注Set Comment = Cells(RowNum, 1).AddCommentComment.Text Text:=" "  ' 必须有一些文本' 插入图片到批注中With Comment.Shape.Fill.UserPicture PicFullPath  ' 设置图片作为批注的背景.Width = 50  ' 设置图片宽度.Height = 50 ' 设置图片高度End With' 设置行高(可以根据需要调整)Rows(RowNum).RowHeight = 50' 移动到下一行RowNum = RowNum + 1' 获取下一个文件名PicName = DirLoop
End Sub

实现删除批注:




 

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

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

相关文章

tomcat启动失败和缓存清理办法

tomcat只在学校接触过并且是在window xp和win7的电脑上配置过&#xff08;中途升级过电脑系统&#xff09;&#xff0c;只记得在windows系统上可以将其设置成服务管理。但我已毕业10多年了&#xff0c;学的知识早就不知道丢哪里了。这次为了修改一个07&#xff0c;08年的项目&a…

SpringBoot使用ApplicationContext.getBean启动报空指针处理记录

问题&#xff1a;项目启动报空指针 定位&#xff1a;新增filter中init方法使用getbean控制 解决&#xff1a;在新增filter上加注解 DependsOn({"applicationContextUtils"}) Component DependsOn({"applicationContextUtils"})//此处解决空指针问题 pu…

ReactPress:深入解析技术方案设计与源码

ReactPress Github项目地址&#xff1a;https://github.com/fecommunity/reactpress 欢迎提出宝贵的建议&#xff0c;欢迎一起共建&#xff0c;感谢Star。 ReactPress是一个基于React框架开发的开源发布平台&#xff0c;它不仅仅是一个简单的博客系统&#xff0c;更是一个功能全…

华为OD机试真题-用户调度问题-2024年OD统一考试(E卷)

最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客 每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。 题目描述 在通信系统中,一…

Docker 基础命令简介

目录 Docker 基础命令 1. Docker 版本信息 2. 获取 Docker 帮助 3. 列出所有运行中的容器 4. 运行一个新的容器 5. 查看容器日志 6. 停止容器 7. 启动已停止的容器 8. 删除容器 9. 列出所有镜像 10. 拉取镜像 11. 构建镜像 12. 删除镜像 13. 执行命令 14. 查看容…

A20红色革命文物征集管理系统

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…

系统安全架构

一个完整的信息安全系统至少包含三类措施: 技术方面的安全措施&#xff0c; 管理方面的安全措施 相应的政策法律。 网络安全威胁 授权侵犯&#xff1a;为某一特权使用一个系统的人却将该系统用作其他未授权的目的。假冒&#xff1a;一个实体(人或系统)假装成另一个实体非法…

先锋精科委身芯片“圈子” 引致交易不公允和信披不透明

不要违背圈子的规则&#xff0c;但也不要盲从圈子的规则。 ——语出马云。 引 言 “圈子”是钥匙&#xff0c;也是一把锁。 走进“圈子”&#xff0c;将获得包括资金、订单、货源、技术等企业发展所需的资源&#xff0c;能够助推一家企业乃至整个行业的跨越式发展&#…

MinerU容器构建教程

一、介绍 MinerU作为一款智能数据提取工具&#xff0c;其核心功能之一是处理PDF文档和网页内容&#xff0c;将其中的文本、图像、表格、公式等信息提取出来&#xff0c;并转换为易于阅读和编辑的格式&#xff08;如Markdown&#xff09;。在这个过程中&#xff0c;MinerU需要利…

【划分型 DP-最优划分】【腾讯笔试压轴】【hard】力扣132. 分割回文串 II

给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是回文串。 返回符合要求的 最少分割次数 。 示例 1&#xff1a; 输入&#xff1a;s “aab” 输出&#xff1a;1 解释&#xff1a;只需一次分割就可将 s 分割成 [“aa”,“b”] 这样两个回文子…

数学建模学习(135):使用Python基于WSM、WPM、WASPAS的多准则决策分析

1. 算法介绍 多标准决策分析(Multi-Criteria Decision Analysis, MCDA)是帮助决策者在复杂环境下做出合理选择的重要工具。WSM(加权和法)、WPM(加权乘积法)、WASPAS(加权和乘积评估法)是 MCDA 中的三种常用算法。它们广泛应用于工程、经济、供应链管理等多个领域,用于…

Django前后端分离基本流程

Django前后端分离项目基础流程介绍 前后端分离是一种架构模式&#xff0c;其中前端和后端分别独立开发和部署&#xff0c;它们通过API进行通信。在Django项目中实现前后端分离&#xff0c;可以提高开发效率和项目的可维护性。 以下是实现Django前后端分离项目的基本流程&#…

【论文复现】基于深度学习的手势识别算法

本文所涉及所有资源均在这里可获取。 &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐、摄影的一位博主。 &#x1f4d7;本文收录于论文复现系列&#xff0c;大家有兴趣的可以看一看…

使用QtWebEngine的Mac应用如何发布App Store

前言 因为QtWebEngine时第三方包,苹果并不直接支持进行App Store上签名和发布,所以构建和发布一个基于使用QtWebEngine的应用程序并不容易,这里我们对Qt 5.8稍微做一些修改,以便让我们的基于QtWeb引擎的应用程序并让签名能够得到苹果的许可。 QtWebEngine提供了C++和Qml的…

智能新纪元:人工智能技术的社会影响与伦理挑战-亿发

在数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;正以其不可阻挡之势&#xff0c;深刻改变着我们的生产、生活和学习方式。它不仅是一项技术革命&#xff0c;更是推动社会进步的重要力量。本文将探讨人工智能如何重塑未来&#xff0c;以及它所带来的深远影响。 AI…

云平台虚拟机运维笔记整理,使用libvirt创建和管理虚拟机,以及开启虚拟机嵌套,虚拟磁盘扩容,物理磁盘扩容等等

云平台虚拟机运维笔记整理,使用libvirt创建和管理虚拟机,以及开启虚拟机嵌套,虚拟磁盘扩容,物理磁盘扩容等等。 掌握和使用qemu和libvirt,分别使用它们创建一个cirros虚拟机,并配置好网络。 宿主机node0的系统为ubuntu16,IP为192.168.56.200。 qemu和libvirt简介 QEMU…

Python中处理Excel的基本概念(如工作簿、工作表等)

在之前的讨论中&#xff0c;我们已经了解了Python如何与Excel文件进行交互&#xff0c;包括使用Python中的不同库来读取和写入Excel文件。现在我们将进一步探讨Python中处理Excel文件的基本概念&#xff0c;如工作簿&#xff08;Workbook&#xff09;、工作表&#xff08;Works…

mac crontab 不能使用问题简记

需要 crontab 有权限&#xff0c;如下截图设置 在访达上方【前往】-》【前往文件夹】输入/ 然后按 Command Shift . 显示隐藏文件&#xff0c;然后将 usr 放到左边栏 然后如下操作 系统设置中找到 隐私安全->完全访问磁盘 点击小锁头 点击号&#xff0c;将/usr/bin/c…

超简单安装油猴(tampermonkey)最新教程(保姆级)

文章目录 ‌‌Tampermonkey的简单介绍一、下载二、安装方法1.Chrome浏览器安装方法2.Microsoft Edge浏览器安装方法3.Opera浏览器安装方法 ‌‌Tampermonkey的简单介绍 ‌‌Tampermonkey是一个浏览器扩展程序&#xff0c;允许用户安装和管理各种用户脚本&#xff0c;这些脚本可…

python 如何将dataframe数据批量插入到clickhouse

1. 背景-问题描述 最近做一个资产数据清洗工作&#xff0c;结束后需要将数据批量插入到clickhouse&#xff1b;查找并尝试了好几种批量插入的方式均已失败告终&#xff1b;现就查到的dataframe类型数据批量插入到clickhouse记录和汇总于此。 2. 配置信息 python 3.12 clickh…