多语言展示
当前在线:323今日阅读:176今日分享:34

怎么将excel中的url批量转化为图片

在工作时,有些时候我们会在Excel表格里面放入图片,但是图片大小又无法跟随单元格大小改变;或者是爬了一堆产品数据,想要看图片,但是又不想一个个复制到浏览器打开,关闭,再打开,再关闭...偶尔几张手动调整还可以,但是需要批量处理的时候,就心累了。        今天,教大家使用Excel里面VBA的一个小技巧,只要将图片链接保存下来,即可通过运行宏,来实现批量将图片显示在Excel表格里面,非常实用,而且图片大小是随着单元格大小的改变而改变的。
工具/原料

Excel表格

方法/步骤
1

第一步:Excel文件格式先设置为:Excel启用宏的工作簿(*.xlsm)

2

第二步:1.复制代码(代码在最后面),打开VBA代码编辑窗口(快捷键Alt+F11)              2.粘贴Excel批量生成图片代码,保存代码,关闭VBA

3

第三步:调整单元格宽高一致(建议按照像素大小)

4

第四步:运行宏,实现URL链接生成图片

5

Sub LoadImage()  Dim HLK As Hyperlink, Rng As Range  For Each HLK In ActiveSheet.Hyperlinks  '循环活动工作表中的各个超链接      If UCase(HLK.Address) Like '*.JPG' Or UCase(HLK.Address) Like '*.JPEG' Or UCase(HLK.Address) Like '*.PNG' Or UCase(HLK.Address) Like '*.GIF' Then  '如果链接的位置是jpg或gif图片(此处仅针对此两种图片类型,更多类型可以通过建立数组或字典或正则来判断)          Set Rng = HLK.Parent.Offset(, 0)  '设定插入目标图片的位置          With ActiveSheet.Pictures.Insert(HLK.Address)  '插入链接地址中的图片              If .Height / .Width > Rng.Height / Rng.Width Then  '判断图片纵横比与单元格纵横比的比值以确定针对单元格缩放的比例                  .Top = Rng.Top                  .Left = Rng.Left + (Rng.Width - .Width * Rng.Height / .Height) / 2                  .Width = .Width * Rng.Height / .Height                  .Height = Rng.Height              Else                  .Left = Rng.Left                  .Top = Rng.Top + (Rng.Height - .Height * Rng.Width / .Width) / 2                  .Height = .Height * Rng.Width / .Width                  .Width = Rng.Width              End If          End With          HLK.Parent.Value = ''   '删除单元格的图片链接      End If  Next  End Sub

推荐信息