快捷搜索:   nginx

VBA宏将网址形式表示的网络图片链接直接插入单元格中(插图工具)

做淘宝的,经常会有一张表格登记,你的产品还有对应的图片链接,这个时候如果想将图片链接表示的图片自动插入表格中就可以用到这个宏


Sub test()
Dim HLK As Hyperlink, rng As Range
For Each HLK In ActiveSheet.Hyperlinks  '循环活动工作表中的各个超链接
    If HLK.Address Like "*.jpg" Or 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
    End If
Next
End Sub

另外需要说明的因为这里是执行查询整个表中的URL链接中是不是有图片信息,因此你需要将要插入的那些图片地址由文本转化为可以直接在单元格中点击打开的URL形式,可以用这个宏


Sub URL()
Dim R As Range
    For Each R In Selection
        ActiveSheet.Hyperlinks.Add R, R.Text
    Next
End Sub


宏的说明详见https://www.bnxb.com/office/excel/27191.html

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论