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经典代码实践指南
查看: 102|回复: 2

[求助] Excel 利用宏插入URL链接的图片和图片按名字保存到文件夹功能加强

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-9-16 17:08 | 显示全部楼层 |阅读模式
在excelhome上得到不少的帮助,借此机会谢谢大家!
附近有几个问题想向各位请教。望大家不吝赐教。

  • 插入URL链接的图片。

  • 问题1:URL含错误地址的话就出错
  • 想改成按选择区域来获取 同时判断URL是不是含有图片,被插入的位置是不是已经存在图片如果存在就跳过。


  • 导出图片

  • 导出图片的宏在Sheet内可用。但是在 模块中 不可用,应该怎么改?
  • 导出的图片比较小,而且带黑色边框。是否可以直接copy原图(也就是重设大小后的图片)


  1. Sub Export_Picture() '图片批量导出保存并重命名某一列数据为图片文件名
  2. Application.ScreenUpdating = False
  3. On Error Resume Next
  4. MkDir ThisWorkbook.Path & "\images"
  5. For Each Pic In Shapes
  6. If Pic.Type = msoPicture Then
  7. RN = Pic.TopLeftCell.Offset(0, -1).Value '重命名图片
  8. Pic.Copy
  9. With ActiveSheet.ChartObjects.Add(0, 0, Pic.Width, Pic.Height).Chart '创建图片
  10. .Paste
  11. .Export ThisWorkbook.Path & "\images" & RN & ".jpg"
  12. .Parent.Delete
  13. End With
  14. End If
  15. Next
  16. 'MsgBox "Exporting the picture is complete!" '导出图片完成!
  17. Application.ScreenUpdating = True
  18. Shell "explorer.exe " & ThisWorkbook.Path & "\images", vbNormalFocus '打开文件夹!
  19. End Sub

  20. Sub addPicture_Url()
  21. Dim z As Shape, e$, i%
  22. Set PicUrlCol = Application.InputBox("Select URL Column", Title:="Images Name Column", Type:=8)
  23. PicCol = PicUrlCol.Column '取图片URL所在列列列标
  24. Set TPnameCol = Application.InputBox("请选择图片需要放置的列,只能选择单列单元格!", Title:="图片所在列", Type:=8)
  25. TPCol = TPnameCol.Column '取图片所在列列列标
  26.     For i = 1 To Cells(Rows.Count, PicCol).End(3).Row
  27.         e = Cells(i, PicCol)
  28.         If e <> "" Then
  29.              Set z = ActiveSheet.Shapes.addpicture(e, True, True, Cells(i, TPCol).Left, Cells(i, TPCol).Top, Cells(i, TPCol).Width, Cells(i, TPCol).Height) '调整图片大小和单元格一样
  30.         End If
  31.     Next
  32. End Sub

复制代码


Picture.zip

75.96 KB, 下载次数: 1

附近请下载

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-9-16 17:25 | 显示全部楼层
自己占个沙发,声明一下 用户民是多年前在百度上查这个字的时候顺手取的,然后就改不了了,真没有恶意。嬲(niǎo):方言用字,很多时候用作脏词。通孬。在普通话中意为戏弄、搅扰,或纠缠之意。在内蒙古以及晋北方言中,意为:神气、得意,或志得意满之意。粤语中意为:生气。

TA的精华主题

TA的得分主题

发表于 2020-9-17 10:59 | 显示全部楼层
VBA加载URL图片.gif 写在sheet一样用啊,黑边框估计你插入了shapepicture,换用insert直接插入,这种玩法分为两大步:①先把地址变成超链接②采用insert直接插入,然后设置尺寸即可!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

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

GMT+8, 2020-9-23 19:59 , Processed in 0.055635 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2021 Wooffice Inc.

   

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

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

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