发布网友 发布时间:2022-04-21 03:56
共5个回答
热心网友 时间:2022-06-17 20:52
Sub pztp()
On Error Resume Next
Dim c As Range, P$, i&, a$, b$, arr, w!
P = "F:\唐狮图片\唐狮图片\"
For Each c In Range([c2], Cells(Rows.Count, 3).End(3))
With c
.ClearComments
.AddComment
.Comment.Shape.Fill.UserPicture P & .Value & ".jpg"
a = get_file_dim(P & .Value & ".jpg")
For i = 1 To Len(a)
If Mid(a, i, 1) Like "[0-9x]" Then
b = b & Mid(a, i, 1)
End If
Next
arr = Split(b, "x")
b = ""
w = 200 '设置图片宽度
.Comment.Shape.Width = w
.Comment.Shape.Height = Val(arr(1)) / Val(arr(0)) * w
End With
Next
End Sub
Function get_file_dim(ByVal filepath As String)
arr = [{161,162,163,164,31}]
Dim brr(), sz, i As Byte
ReDim brr(1 To UBound(arr))
Set ObiFolder = CreateObject("shell.Application").Namespace(Left(filepath, InStrRev(filepath, "\")))
For i = 1 To UBound(arr)
sz = ObiFolder.getdetailsof(ObiFolder.Items.Item(Right(filepath, Len(filepath) - InStrRev(filepath, "\"))), arr(i))
If sz Like "*[0-9] x [0-9]*" Then
get_file_dim = sz
Exit For
End If
Next i
End Function
追答只有鼠标悬停在有批注的单元格时才能显示批注,要在别的列悬停时显示,需在别的列插入批注。可将With c改成With c(1,2) ,并将 .Value & ".jpg"改成c.Value & ".jpg"
改动粗体数字2,即可更改插入的列
热心网友 时间:2022-06-17 20:52
Excel在批量插入图片插入这个备注的话,可以直接选择有一个插入这个选项,点击,然后选择你的路径,把你所有的图片放进去就可以了 。热心网友 时间:2022-06-17 20:53
批量的话,也不是不可以,热心网友 时间:2022-06-17 20:53
Sub Macro1()大神你看看我是有哪里不对吗?显示不了图片,我比较小白
热心网友 时间:2022-06-17 20:54
一般都用Excel插件(方方格子)来批量添加图片批注。