业务场景:

日常工作中,我们可能会遇到需要批量导出excel表中的图片的情况,按照网友的做法,批量导出excel中的图片主要有几种方法:

  • 解压缩方法:可以通过将excel文件转成rar压缩文件,解压后将图片复制出来;
  • 转htm方法:将excel文件另存为htm文件,将图片复制出来;
  • VBA导出方法:通过将图片转成chart对象,利用chart对象导出方法将图片批量导出。

这里主要记录一下使用VBA批量导出的方法。

例如:有如下一个工作表,需要将其中的图片批量导出


解决方案:

利用VBA遍历工作表中的所有shape对象,这里的shape对象包括了图片、图标、图表、艺术字、文本框、自定义形状等,由于shape对象没有提供export导出方法,所以通过新建chart对象,并将shape复制粘贴到chart对象中,借助chart对象提供的export方法将图片批量导出。具体参考代码如下:

Sub ExportSheetPictures()Dim shp, my_sheetSet my_sheet = Sheets("Sheet1")' 循环获取工作表中的shape对象For Each shp In my_sheet.Shapesshp.Copy' 新建空白chart对象,将shape对象复制粘贴到chart对象中With my_sheet.ChartObjects.Add(0, 0, shp.Width, shp.Height + 5).Chart.ChartArea.Border.LineStyle = 0.ChartArea.Select.Paste.Export ThisWorkbook.Path & "\" & shp.Name & ".png".Parent.DeleteEnd WithNextSet my_sheet = Nothing
End Sub

通过VBA运行后,图片被批量导出,结果如下:


总结:

注意点:
这里一定要加上.ChartArea.Select选中一下chart对象,再进行粘贴,否则可能出现导出图片为空白的情况。如果需要导出指定图片,比如指定类型或指定行列,可以使用shape对象的type属性、TopLeftCell属性进行筛选控制。

VBA应用笔记 -- 批量导出excel工作表中的图片相关推荐

  1. Excel批量导出当前工作表所有图片的快捷操作

    我们都知道excel是没有将图片导出的功能的,更别提批量导出多个图片了,那今天小编要和大家分享一下批量导出当前工作表图片的操作 (方方格子插件) 1.动图演示 2.选择图片工具命令按钮 3.选择导出图 ...

  2. excel表格内容拆分_一键批量拆分Excel工作表【模板下载】

    今年5月份我们在Excel表哥微信公众号平台首发了一系列工作表.工作簿合并的文章. 从合并相同内容的单元格到合并多个工作表直至批量合并多个Excel工作簿,所有的操作只需要一键! 专辑如下,也可以在表 ...

  3. Excel实用技巧-如何批量提取excel工作表名称

    Excel实用技巧-如何批量提取excel工作表名称 1. 打开Excel文件,点击"公式"栏,进而点击"定义管理器" 2. 在弹出的对话框中,点击新增按钮, ...

  4. Excel VBA 将当前活动工作表中的图片保存到以工作表名称命名的文件夹内

    Sub exportpic() '将当前活动工作表中的图片保存到以工作表名称命名的文件夹内 Dim sn, path As String, j% sn = ActiveSheet.Name path ...

  5. excel按条件选择工作表_在Excel工作表中选择“实际使用范围”

    excel按条件选择工作表 It's easy to select the current range in Excel – just press Ctrl + A. That shortcut se ...

  6. Excel工作表中定位最后单元格(FIND方法)

    前一篇博客讲解了如何使用END属性最后单元格. Excel工作表中定位最后单元格(END属性) 在VBA中还有其他的方法可以用来定位最后单元格.工作表中示例数据如下图所示,注意其中A4为空,A6至A7 ...

  7. 在excel工作表中c1单元格_已知Excel工作表中A1单元格和B1单元格的值分别为“电子科技大学”、“信息中心”,要求在C1单元格显示“...

    已知Excel工作表中A1单元格和B1单元格的值分别为"电子科技大学"."信息中心",要求在C1单元格显示" 更多相关问题 所谓犯罪现象的特性,是指为 ...

  8. 给表中指定位置添加字段_利用VBA代码,轻松完成向工作表中添加指定图片到指定位置...

    VBA++ 题记:一剪闲云一溪月,一程山水一年华.一世浮生一刹那,一树菩提一烟霞.岁月静好,现世安稳.纵算云水漂泊,心若安宁,亦可淡若清风.希望见者与不见者都能安康.静下心,多学习有用的知识,多提高自 ...

  9. 在excel工作表中c1单元格_Excel工作表中的11个逻辑函数应用技巧,中文解读,动图演示!...

    逻辑函数,简单的理解就是返回结果为TRUE或FALSE的函数.TRUE,代表判断后的结果是真的,正确的,也可以用1表示:FALSE,代表判断后的结果是假的,错误的,也可以用0表示.在Excel工作表中 ...

最新文章

  1. [YTU]_1064 (输入三个字符串,按由小到大的顺序输出)
  2. JSP中include指令的乱码问题
  3. linux学习笔记 (fork FILE PC)
  4. 自定义圆形控件 RoundImageView
  5. mysql_real_connect阻塞_mysql_real_connect崩溃、未经处理的异常
  6. 【Django 2021年最新版教程19】数据库查询 model filter 条件或or
  7. JavaScript 教程 (详细 全面)
  8. MFC:应用程序无法正常启动(0xc0150002)
  9. 苹果手机微信声音小怎么调大声_怎么把手机声音变大,试试这种方法
  10. 怎么看xp计算机是32位还是64位,教你查看XP系统的不同32位还是64位详细的步骤
  11. 神武手游哪个服务器人最多,神武4端游什么老区人最多
  12. Android 修改开机画面
  13. 读大道至简之我见1——团队管理
  14. CSS3中rotate的作用
  15. 学习周报20200105 | CS224N
  16. nodejs绿色版下载安装及配置淘宝镜像、安装vue脚手架
  17. 论文复审意见及实验规划
  18. 电磁噪声论文赏析_004变频器供电对永磁电机振动噪声源的影响研究
  19. 【全栈计划 —— 单片机】——Part_04 IO口输入功能的使用
  20. 20 考研英语题源外刊精讲赏析 1~10 期外刊原文+翻译+点评

热门文章

  1. SpringBoot配置文件加密jasypt【数据库配置加密、redis配置加密、核心参数加密】
  2. 自动监控GPU温度并报警
  3. 透过镜头放大镜行业现状调研及趋势分析报告
  4. unity3d 5.2 添加广点通广告
  5. php对接阿里巴巴开放平台
  6. 基于VB中WINSOCK控件的网上象棋系统的实现
  7. matlab-线性代数 创建 N阶数量矩阵 N阶单位矩阵 对角矩阵 范德蒙矩阵 等差数列...
  8. 点云语义分割标注工具及生成训练数据
  9. MAC os x 修改文件夹图标
  10. CSP 201912-1 报数