批量导出Excel中的图片,并按单元格名称命名。建议收藏备用!

我们有一个文件名称为“导出图片”的Excel工作簿。工作簿内含一个工作表,在工作表的A列为对应图片的名称,B列为对应的图片

我们想要实现:

将工作表B列的图片批量导出至电脑本地,并且每张图片的名称都以A列的名称内容命名。

解决这样的问题,还是用VBA代码快速的实现吧。

代码如下:

Sub main()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
shp.Copy
With ChartObjects.Add(0, 0, shp.Width, shp.Height).Chart
.Parent.Select
.Paste
.Export "F:\" & shp.TopLeftCell.Offset(0, -1) & ".png"
.Parent.Delete
End With
Next shp
End Sub

01.进入VBA代码编辑器

鼠标右击工作表名称标签,点击【查看代码】命令(或按快捷键Alt+F11键)进入VBA代码编辑器的窗口。

02.复制并粘贴代码

复制上面的那段VBA代码并粘贴至VBA代码编辑器窗口内。

03.运行代码

点击代码器窗口上方的【运行-运行子过程/用户窗体】命令。

03代码释义

批量导出Excel中的图片,并按单元格名称命名。建议收藏备用!

01.关于导出位置

代码:

.Export “F:\” & shp.TopLeftCell.Offset(0, -1) & “.png”

其中“F:\”表示导出的图片放置到电脑的硬盘F盘中。可根据实际情况进行修改。

02.关于图片格式

代码:

.Export “F:\” & shp.TopLeftCell.Offset(0, -1) & “.png”

其中 “.png”表示导出的图片为png格式后缀。可根据实际情况进行修改。

代码:

.Export “F:\” & shp.TopLeftCell.Offset(0, -1) & “.png”

其中Offset(0, -1)表示:以图片列为基准列,名称列位于图片列左侧,Offset的第二参数为负数;名称列位于图片列右侧,Offset的第二参数为正数。此例中,因为名称列位于图片列左侧的第一列,故Offset的第二参数为-1,即Offset(0, -1)。需根据实际情况进行修改。

© 版权声明 本站提供的所有软件、素材和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集搬砖整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如若本站内容侵犯了原著者的合法权益,携带权利证明请发送邮箱到 liukaien@foxmail.com 指出,我们将及时做出处理。声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
技术教程精品软件

✅100个有趣的网站,够大家玩到老✅

2024-5-31 15:53:44

技术教程

Fast Screen Recorder(录制屏幕工具) v2.0.0.9 中文直装版屏幕录制工具便携版

2024-6-17 20:47:29

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧