我的目标:让中国的大学生走出校门的那一刻就已经具备这些office技能,让职场人士能高效使用office为其服务。支持我,也为自己加油!
今天有位群友遇到一个问题:
A列的这些图片名称中都带有链接,点击该名称会自动跳转到网络中的图片,现在怎么样把这些图片显示在B列中呢?
不可能一个单元格一个单元格的点击链接,然后下载图片,然后再插入到单元格中吧。
其实会VBA的话知道图片链接怎么批量下载,这个问题解决起来也不难,如下:
思路:
循环该工作表中的超链接Hyperlink,循环出来以后获得该超链接的地址Hyperlink.Address,然后在工作表中插入一个矩形,矩形的位置和B列对应的单元格的位置一致,矩形的宽和高自己根据图片大小调整下,用图片填充矩形,这样就可以插入图片是一样的效果了。
代码如下:
Sub 将图片URL显示为图片()
Dim hl As Hyperlink, rng As Range
For Each hl In Sheet3.Hyperlinks
Set rng = hl.Parent
_
2).Left, rng(1, 2).Top, 110, 80).Fill.UserPicture hl.Address
Next
End Sub
注意:03版-07版的Excel中可以用ActiveSheet.Pictures.Insert(图片地址)的方法插入图片,10版及以后版本要用上面讲的方法插入图片,这也就是为什么很多同学在10版及以上的Excel中用ActiveSheet.Pictures.Insert时出现“不能取得类Picture的Insert属性”提示的原因。
03-07版本的Excel中请参考以下代码:
Sub InsertPictures()
Dim rng As Range
Dim cell As Range
Const PicWidth As Integer = 100
Const PicHeight As Integer = 100
Const PicLeftPosition As Integer = 5
Const PicTopPosition As Integer = 5
'定义工作表和范围
Set rng = ActiveSheet.Range("A1:A10")
'循环遍历每个单元格
For Each cell In rng
'获取图像链接
Dim picUrl As String
picUrl = cell.Value
'在目标单元格中插入图像
If picUrl <> "" Then
Dim newPic As Picture
Set newPic = ActiveSheet.Pictures.Insert(picUrl)
'调整图像大小和位置
With newPic
PicWidth =
PicHeight =
cell.Top + PicTopPosition =
cell.Left + cell.Width + PicLeftPosition =
End With
End If
Next cell
End Sub
这段代码假设你的图片链接位于A1到A10,并且要将图像插入到链接右侧的单元格中。你可以根据需要修改代码来适应不同的情况。
学到这里我们应该顺便回顾下:
怎么批量给图片名称添加超链接?
怎么一次性删除表中所有的超链接呢?
比如:
A列是图片名称,B列是该图片对应的网址,怎么样给图片名称添加超链接地址呢?
代码如下:
Sub 批量添加超链接()
Dim rng As Range
For Each rng In Range("A2:A9")
Sheet2.Hyperlinks.Add rng, rng(1, 2).Value
Next
End Sub
Sub 删除表中所有的超链接()
Sheet2.Hyperlinks.Delete
End Sub
这里主要是搞清楚对象的从属关系:
添加超链接时是 :Sheet.Hyperlinks.Add 图片的地址
而超链接所在的单元格是:Set rng = Hyperlink.Parent
本节先分享到这里,希望大家每天都有进步!
系统学习请扫码知道图片链接怎么批量下载,课程支持答疑哦
♥一次遇见,终身相伴♥
版权声明
本文仅代表作者观点。
本文系作者授权发表,未经许可,不得转载。
发表评论