在 Excel 中,假设我选择一张图片(例如 test.jpeg)作为评论的背景。我希望评论框采用 test.jpeg 的尺寸。由于我计划有数百条这样的评论,我的问题是:有没有办法自动完成这一操作?
答案1
我修改了一个 VBA 宏。使用ALT+打开 VBA 编辑器F11,并将以下代码粘贴到工作表1ALT. 使用+执行宏F8
宏的作用
询问用户想要插入的图片的路径(可以是 jpg、bmp 或 png)
将该图片加载为
WIA.imageFile
。稍后我们使用objImage.Height
和objImage.Width
来获取真实的图片尺寸。我发现这种方法是获取像素尺寸的最短方法(其他 VBA 方法可能会给你缇。它们是一项可怕的发明)
如果当前选定的单元格中不存在旧注释,则在当前选定的单元格中插入空白注释
将所选图片设置为评论形状的背景图像
调整注释形状尺寸,使图片完美适合
Sub InsertComment()
Dim strImagePath As Variant
Dim objImage As Object
strImagePath = Application.GetOpenFilename("Picture, *.jpg; *.png; *.bmp")
If strImagePath = False Then Exit Sub
Set objImage = CreateObject("WIA.ImageFile")
objImage.LoadFile strImagePath
With ActiveCell
If .Comment Is Nothing Then .AddComment ("")
.Comment.Shape.Fill.UserPicture strImagePath
.Comment.Shape.Height = objImage.Height * 0.75
.Comment.Shape.Width = objImage.Width * 0.75
End With
End Sub