如何按指定名称快速导出Excel中的图片?
照例举个例子。如下图所示,工作表中存在多张图片,现在需要将其导出,并按图片向左偏移一个单元格,也就是A列单元格的值进行命名。
导出后结果如下图所示:
如果不追求规范图片命名,只是导出Excel中的图片,倒不用VBA代码。将工作簿后缀名修改为rar,双击打开,依次点击xl→media即可。
但如果需要规范图片名称,就优先推荐VBA代码了。参考代码如下:
代码复制运行即可
看不全可以左右拖动..▼
Sub ExportPic()
Dim strPath As String, strPicName As String, strWhere As String, strPicFullName As String
Dim shp As Shape, k As Long, d As Object, x As String, y As Long
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show Then strPath = .SelectedItems(1) Else: Exit Sub
End With
strWhere = InputBox("请输入图片名称相对图片所在单元格的偏移位置,例如上1、下1、左1、右1", , "左1") '用户输入图片相对单元格的偏移位置。
If Len(strWhere) = 0 Then Exit Sub
x = Left(strWhere, 1) '偏移的方向
If InStr("上下左右", x) = 0 Then MsgBox "你未输入偏移方位。": Exit Sub
y = Val(Mid(strWhere, 2)) '偏移的值
Set d = CreateObject("scripting.dictionary")
Application.ScreenUpdating = False
For Each shp In ActiveSheet.Shapes
If shp.Type = msoPicture Then
strPicName = GetPicName(x, y, shp.TopLeftCell)
If Not d.exists(strPicName) Then
d(strPicName) = 1
Else
d(strPicName) = d(strPicName) + 1
strPicName = strPicName & d(strPicName)
End If
strPicFullName = strPath & "\" & strPicName & ".jpg"
shp.Copy
With ActiveSheet.ChartObjects.Add(0, 0, shp.Width, shp.Height).Chart
.Parent.Select
.Paste
.Export strPicFullName, "jpg"
.Parent.Delete
End With
End If
Next
Application.ScreenUpdating = True
MsgBox "导出图片完成!" & Chr(13) & "路径:" & strPath, , "提示"
End Sub
Function GetPicName(x As String, y As Long, rngShape As Range) As String
Dim strPicName As String
Select Case x
Case "上"
strPicName = rngShape.Offset(-y, 0).Value
Case "下"
strPicName = rngShape.Offset(y, 0)
Case "左"
strPicName = rngShape.Offset(0, -y)
Case "右"
strPicName = rngShape.Offset(0, y)
End Select
GetPicName = IIf(strPicName = "", "图片", strPicName)
End Function
如何按指定名称快速导出Excel中的图片?相关推荐
- 自动化办公 | 快速从Excel中提取图片并匹配命名
大家好,我是小五???? 关于自动化办公,之前我思考过好久.到底什么是自动化办公,哪些属于能真正提高我们工作效率的知识,哪些所谓的python自动化办公项目又是伪需求? 其实挺难断定的,可能大部分人用 ...
- Python 批量提取Excel中的图片,图片文件名按指定列存储
openpyxl 以及 openpyxl_image_loader,conda或者pip无法安装的话,官网下载whl,然后pip安装本地包 [注意]:图片必须在单元格内,不能压过单元格边界 from ...
- excel导出_SpringBoot实现快速导出Excel
阅读本文约需要6分钟 大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了下MyBatis 几种通用的写法的相关知识,今天跟大 ...
- wps怎么把ppt里的字体一起保存_干货 | 如何快速导出PPT中的文字内容?
原标题:干货 | 如何快速导出PPT中的文字内容? 我们经常需要将某些PPT演示文稿的文字部分导出到Word进行处理,但如果使用"创建讲义"的功能,则只是将幻灯片和备注同时导出到W ...
- 如何快速将EXCEL中许多手机号按移动和联通、电信自动分开,筛选出来
如何快速将EXCEL中许多手机号按移动和联通.电信自动分开,筛选出来 这里讲两种方法: 第一种就是正常的excel函数公式: =IF(LEFT(A1,3)="134"," ...
- 用EasyPoi导出Excel中单元格图片(线上阿里云)
用EasyPoi导出Excel中单元格图片(线上阿里云): 导出数据需要包含图片 问题描述 提示:这里描述项目中遇到的问题: 数据库中存储图片格式是阿里云(oss)的图片url,导出excel显示图片 ...
- java 读取excel 图片_利用Java+POI 读写Excel文档向Excel中插入图片
一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象.它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97- ...
- vb.net读取excel并写入dgv_如何用Python读取Excel中的图片?然后写入图片?
大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格中的数值进行分析. 那么你知道如何使用Python读 ...
- 如何用Python读取Excel中图片?又如何用Python往Excel中写入图片?
大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格中的数值进行分析. 那么你知道如何使用Python读 ...
最新文章
- 给Java初学者福利——Java语法基础
- 幂法的c语言程序例子,数值分析之幂法及反幂法C语言程序实例.doc
- 关于ListView中Detail模式下的一些基本操作
- ZOJ - 3624
- PHP书写规范 匈牙利命名法+驼峰法命名
- Flink 1.10 Native Kubernetes 原理与实践
- 太厉害了MySQL总结的太全面了
- 使用AD14制作PCB的全部流程以及PCB打样流程介绍
- STM32通过IIC驱动MAX30102心率血氧传感器
- 计算机端口错误678,Win8宽带连接出现错误678的解决方法
- win10怎么一键释放运行内存
- 房贷收入证明是月供的几倍?
- 数据压缩实验 LZW编解码算法的实现与分析
- matlab2021安装教程
- 安卓手机投屏软件_直播教程 | 安卓手机投屏队伍语音解决方案1
- 【竞赛项目,测试点】
- Maven的安装配置及IDEA配置(图文教程)
- In Search of an Understandable Consensus Algorithm(寻找可理解的共识算法)
- [HNOI2004]宠物收养所 SBT
- ie浏览器下载门户网站的excel文档出现乱码现象的解决办法