VBA在Excel中自动更新图像尺寸

时间:2018-07-06 23:12:13

标签: excel vba excel-vba

编辑:17-07-2018找到了一种在Excel中检索图像尺寸的解决方案。

我已经创建了一个代码来检索Excel中的图像文件,并且可以正常工作,但是,一旦我调整了图像的大小,它并不会自动更新其值,因此我需要先在图像之间进行切换,然后再回到调整后的图像大小以获得价值。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim mypic As Picture

   If Target.Address = "$A$4" Then
        Me.Pictures.Visible = False
        With Range("e2")
            For Each mypic In Me.Pictures
                If mypic.Name = .Text Then
                    mypic.Visible = True
                    mypic.Top = .Top
                    mypic.Left = .Left
                    Exit For
                End If
            Next mypic
        End With

        With ActiveSheet
            s = Round(.Shapes(.Range("e2").Value).Height / 72 * 2.54, 2) & "cm"
            y = Round(.Shapes(.Range("e2").Value).Width / 72 * 2.54, 2) & "cm"


        MsgBox "Picture dimensions are " & vbLf & vbLf & _
            "Height: " & s & vbLf & vbLf & _
            "Width: " & y

            .Range("Q5") = s
            .Range("Q6") = y

        End With
    End If
End Sub

上面的代码提供了一种自动更新值的方法,而无需关闭Excel文件或在图像之间移动。

谢谢你!

0 个答案:

没有答案