EXCEL VBA批量下载URL链接地址图片、URL链接地址图片转为图片
程序员文章站
2023-12-25 18:00:57
...
在EXCEL里,需要大量引用网上链接图片,例如python的爬虫把图片链接爬取之后,需要在EXCEL内展示图片,可以使用VBA批量将URL链接地址图片转为图片;
1.复制以下代码到VBA内,(不知道VBA是什么的传送门:https://blog.csdn.net/weixin_39416561/article/details/82428684)
Sub 链接转图片()
For Each Rng In Selection '循环活动工作表中的各个超链接
If UCase(Rng.Value) Like "*.JPG" Or UCase(Rng.Value) Like "*.JPEG" Or UCase(Rng.Value) Like "*.PNG" Or UCase(Rng.Value) Like "*.GIF" Then '如果链接的位置是jpg或gif图片(此处仅针对此两种图片类型,更多类型可以通过建立数组或字典或正则来判断)
'Set Rng = HLK.Parent.Offset(, 0) '设定插入目标图片的位置
With ActiveSheet.Pictures.Insert(Rng.Value) '插入链接地址中的图片
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
Rng.Value = "" '删除单元格的图片链接
End If
Next
End Sub
2.选中URL单元格,运行VBA即可;
代码会自动根据单元格大小调整图片大小及位置,结果如下: