自动重新定义注释框尺寸以匹配 Excel 中的背景图像

自动重新定义注释框尺寸以匹配 Excel 中的背景图像

在 Excel 中,假设我选择一张图片(例如 test.jpeg)作为评论的背景。我希望评论框采用 test.jpeg 的尺寸。由于我计划有数百条这样的评论,我的问题是:有没有办法自动完成这一操作?

答案1

我修改了一个 VBA 宏。使用ALT+打开 VBA 编辑器F11,并将以下代码粘贴到工作表1ALT. 使用+执行宏F8

宏的作用

  1. 询问用户想要插入的图片的路径(可以是 jpg、bmp 或 png)

  2. 将该图片加载为WIA.imageFile。稍后我们使用objImage.HeightobjImage.Width来获取真实的图片尺寸。

    我发现这种方法是获取像素尺寸的最短方法(其他 VBA 方法可能会给你。它们是一项可怕的发明)

  3. 如果当前选定的单元格中不存在旧注释,则在当前选定的单元格中插入空白注释

  4. 将所选图片设置为评论形状的背景图像

  5. 调整注释形状尺寸,使图片完美适合

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

相关内容