Excel VBA在选定的单元格中插入注释并填充图片
我有超过150个单元格包含超链接到本地硬盘上的图像列表,昨天我find了一种方式来popup这些图像插入评论与填充背景的图片。 所以我想要一个VBA脚本在选定的单元格中插入注释,并用超链接位于每个单元格中的图像填充注释背景。
这是可能的,或者我应该手动吗?
这里是一个单元格内容的例子
I1 D:\My Pictures\example 001.jpg I2 D:\My Pictures\example 021.jpg I3 D:\My Pictures\example 030.jpg
录制一个macros显示以上是可能的。 虽然有点调整是为了。 例如,下面的macros通过A1
注释创build一个图像popup窗口。
Sub Test() Dim Comm As Comment On Error Resume Next Range("A1").AddComment Range("A1").Comment.Visible = False Set Comm = Range("A1").Comment Comm.Shape.Fill.UserTextured "C:\foo\bar.gif" End Sub
On Error Resume Next
用于处理已经有注释的范围,因此您可以继续反复运行macros。 我设置了可.Visible
False
是安全的,图像不会成为永久popup窗口(只应出现在hover)。
我们可以进一步调整上面的内容来创build一个子范例,它将一个范围和一个string作为参数,所以我们可以在范围内重复地调用它。
Sub CreatePopUp(TargetRange As Range, PathToImage As String) Dim Comm As Comment On Error Resume Next With TargetRange .AddComment .Comment.Visible = False Set Comm = .Comment End With Comm.Shape.Fill.UserTextured PathToImage End Sub
以上可以这样调用:
Sub MassPopUp() Dim rCell As Range For Each rCell In [A1:A10] CreatePopUp rCell, "Blah" Next End Sub
让我们知道这是否有帮助。
编辑:
如果你的date是在例如I1:I10
,并且它们包含图像文件的确切path,那么上面的代码可以这样写:
Sub MassPopUp() Dim rCell As Range For Each rCell In [I1:I10] CreatePopUp rCell, rCell.Value Next End Sub
rCell.Value
将取单元格内的值,将其传递给插入图像的子例程,并将其作为注释应用于rCell
并提取正确的图像。 这不应该失败。 只要确保单元格中的值是各自文件的正确path。