ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

EH搜索     
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 Office知识技巧免费学 打造核心竞争力的职场宝典
300集Office 2010微视频教程 Tableau-数据可视化工具 精品推荐-800套精选PPT模板,点击获取 ExcelHome出品 - VBA代码宝免费下载
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 Excel VBA经典代码实践指南
查看: 6577|回复: 37

[分享] 整理贴:插入导出表格图片及区域导出图片等

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2018-10-22 15:51 | 显示全部楼层 |阅读模式
本帖最后由 liulang0808 于 2019-3-15 20:34 编辑

整理了几个插入导出图片的案例。供大家参考



一个档案的处理
http://club.excelhome.net/forum. ... 1451492&pid=9758310
怎么批量修改图片,并自动保存
http://club.excelhome.net/forum. ... 1459584&pid=9812666


以上方法为旧版方法,兼容性有时有问题
以下为新版

ActiveSheet.Shapes.addpicture f, msoFalse, msoCTrue, Rng.Left, Rng.Top, Rng.Width, Rng.Height

导入导出图片.zip

374.47 KB, 下载次数: 1236

评分

参与人数 7鲜花 +14 收起 理由
星梦月缘 + 2 优秀作品
1055751654 + 2 太强大了
志65 + 2 优秀作品
LSYG1688 + 2 优秀作品
vleexhya + 2 太强大了

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-22 15:52 | 显示全部楼层
  1. Sub addpicture()
  2.     Set fso = CreateObject("Scripting.FileSystemObject")
  3.     Application.ScreenUpdating = False
  4.     For Each shp In ActiveSheet.Shapes
  5.         If shp.Type = 13 Then shp.Delete
  6.     Next shp
  7.     For j = 3 To 13 Step 5
  8.         For i = 2 To Cells(Rows.Count, 1).End(3).Row Step 11
  9.             Cells(i, j).Select
  10.             Set rng = Selection
  11.             str1 = ThisWorkbook.Path & "\插入图片" & Cells(i, j - 1) & ".jpg"
  12.             If fso.FileExists(str1) Then
  13.                 ActiveSheet.Pictures.Insert(str1).Select
  14.                 With Selection
  15.                     .ShapeRange.LockAspectRatio = msoFalse
  16.                     .Left = rng.Left + 1
  17.                     .Top = rng.Top + 1
  18.                     .Width = rng.Offset(0, 1).Left - rng.Left - 2
  19.                     w = rng.Offset(1, 0).Top
  20.                     y = rng.Top
  21.                     .Height = w - y - 2
  22.                 End With
  23.             End If
  24.         Next i
  25.     Next j
  26.     Application.ScreenUpdating = True
  27. End Sub
复制代码

将指定文件夹的照片按照姓名插入到表格内
表格照片区域需要根据姓名插入图片.jpg
插入图片效果.jpg

评分

参与人数 1鲜花 +2 收起 理由
1055751654 + 2 太强大了

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-22 15:56 | 显示全部楼层
  1. Sub 按钮1_Click()
  2.     Application.ScreenUpdating = False
  3.     pth = ThisWorkbook.Path & "\导出图片"
  4.     For Each shp In ActiveSheet.Shapes
  5.         If shp.Type = 13 Then
  6.             n = n + 1
  7.             shp.Copy
  8.             With ActiveSheet.ChartObjects.Add(0, 0, shp.Width, shp.Height).Chart
  9.                 .Paste
  10.                 .Export pth & shp.TopLeftCell.Offset(0, -1) & ".jpg"
  11.                 .Parent.Delete
  12.             End With
  13.         End If
  14.     Next
  15.     Application.ScreenUpdating = True
  16. End Sub
复制代码

导出照片,将excel里的照片按照姓名保存成图片

如果仅仅是提取excel里的文件,可以直接将excel保存为html格式,即可获取图片,不过图片名称不是姓名,各位可以自己测试
导出照片结果.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-22 15:58 | 显示全部楼层
  1. Sub 按钮3_Click()
  2.     For j = 1 To 13 Step 5
  3.         For i = 1 To Cells(Rows.Count, 1).End(3).Row Step 11
  4.             Cells(i, j).Resize(10, 3).CopyPicture 1, 2
  5.             ActiveSheet.Pictures.Paste.Select
  6.             With Selection
  7.                 .Copy
  8.                 With ActiveSheet.ChartObjects.Add(0, 0, Selection.Width, Selection.Height).Chart
  9.                     .Paste
  10.                     fnm = ThisWorkbook.Path & "\导出区域图片" & Cells(i + 1, j + 1) & ".jpg"
  11.                     .Export fnm
  12.                     .Parent.Delete
  13.                 End With
  14.                 .Delete
  15.             End With
  16.         Next i
  17.     Next j
  18. End Sub
复制代码

将准考证区域保存为图片,在数据有变动的时候,不要关闭刷屏,不然导出图片会有异常,各位可以自行尝试
导出区域照片结果.jpg

评分

参与人数 3鲜花 +6 收起 理由
1055751654 + 2 太强大了
02761752696 + 2 优秀作品
amzxfgh9632 + 2 太强大了

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-10-23 08:09 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-10-23 08:41 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-11-6 15:45 | 显示全部楼层
liulang0808 发表于 2018-10-22 15:52
将指定文件夹的照片按照姓名插入到表格内

这个代码复制到哪里去啊。。。。。。就是不会这个步骤

点评

附件里有代码,在模块里,楼主看自己需求吧,一般都是复制到模块里,然后匹配下表名的  发表于 2018-11-6 17:27

TA的精华主题

TA的得分主题

发表于 2018-11-7 08:50 | 显示全部楼层
技术白 发表于 2018-11-6 15:45
这个代码复制到哪里去啊。。。。。。就是不会这个步骤

不会用 模块是什么。。。。。
大神能不能把我发的表格给做一下  (可怜,JPG)

点评

你的帖子已经回复了,你可以去看下是否满足需求的  发表于 2018-11-7 09:11

TA的精华主题

TA的得分主题

发表于 2018-11-15 20:39 | 显示全部楼层
下载学习了一下。发现插入照片有用,运行导出照片,相应文件夹里没有照片,导出区域照片得到的是空白照片。我不知道是何原因。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-15 20:49 | 显示全部楼层
xl6403 发表于 2018-11-15 20:39
下载学习了一下。发现插入照片有用,运行导出照片,相应文件夹里没有照片,导出区域照片得到的是空白照片。 ...

下载不见运行也出现这个问题吗
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关注官方微信,高效办公专列,每天发车

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2020-6-3 02:56 , Processed in 0.072018 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2020 Wooffice Inc.

   

沪公网安备 31011702000001号 沪ICP备11019229号

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:徐怀玉律师 李志群律师

快速回复 返回顶部 返回列表