|
本帖最后由 gcho 于 2023-4-28 12:04 编辑
我手里有一个微信程序导出的excel表,里面手写签名的那一列数据为网页链接,只能点击后只能通过打开网页查看,我想让这类数据直接显示签名的图片。
本人不会VBA,在网上看到很多VBA程序,都是介绍如何提取像.jpg/..png结尾的网页图片,查看我的那个网页源数据,发现真正的.jpg图片链接地址在src值后面。
我把问题描述、宏文件、网页源数据截图都放在测试文件.xlsx里了,麻烦大佬们下载后帮忙测试修改,万分感谢!
- Public Sub GetImagesFromLinks()
- '作用: 根据图片链接地址,插入图片到 Excel 中,图片位置在链接单元格右侧的单元格中
- '代码运行中,若想要中断执行,可以在 VBA 界面按键盘快捷键[Ctrl] + [Pause Break]
- Dim link As Range, Links As Range, counter As Long
- Set Links = ActiveSheet.Range("B2:B8") '链接所在的单元格区域
- On Error Resume Next '忽略错误,如链接错误、网络问题、空单元格等
- Application.ScreenUpdating = False
- For Each link In Links
- With link.Offset(, 1) '图片存放于右侧的单元格中
- '插入图片
- ActiveSheet.Shapes.AddPicture(link.Value, 1, 1, .Left, .Top, _
- .Width, .Height).Placement = xlMoveAndSize
- If Err.Number = 0 Then '记录反馈
- .Offset(, 1).Value = "成功"
- counter = counter + 1
- Else
- .Offset(, 1).Value = Err.Description
- Err.Clear
- End If
- End With
- Next
- Application.ScreenUpdating = True
- MsgBox "图片链接共 " & Links.Count & " 个,已成功获取 " & counter & " 个!", _
- vbOKOnly Or vbInformation, "温馨提示"
- End Sub
复制代码
|
|