Shapes.AddPicture不调整行高

时间:2019-11-07 23:27:55

标签: resize row height

尝试运行宏以提示选择图像,然后将其放置到工作簿中,它将图片的大小调整为目标列的宽度(我想要的),但不会调整行高以匹配图像的高度

我尝试过切换功能等,但是row.height似乎没有任何作用

    Sub uploadpic()
    Dim r As Range, Shrink As Long
    Dim shpPic As Shape
    Dim shpPic2 As Shape
    Dim myfile As String
    Dim myfile2 As String
    Application.ScreenUpdating = True
    Shrink = 0

            'got some code running here in between that isn't causing an issue



    On Error Resume Next


    For Each r In Range("K2:K" & Cells(Rows.Count, 1).End(xlUp).Row)


If r.Value = "" Then
myfile = Application.GetOpenFilename(FileFilter:="Pictures, *.jpg; *.gif; *.png", Title:="Select an Issue Picture", MultiSelect:=False)
    ThisWorkbook.Sheets("DATA").Range("K2").Value = myfile
    Set shpPic = ActiveSheet.Shapes.AddPicture(Filename:=myfile, linktofile:=msoFalse, _
        savewithdocument:=msoTrue, Left:=Cells(r.Row, 12).Left + Shrink, Top:=Cells(r.Row, 12).Top + Shrink, _
            Width:=-1, Height:=-1)
    With shpPic
        .LockAspectRatio = msoTrue
        .Width = Columns(12).Width - (2 * Shrink)
        Rows("2:2").RowHeight = .Height + (2 * Shrink)

              End With
        'corrective action pic
        myfile2 = Application.GetOpenFilename(FileFilter:="Pictures, *.jpg; *.gif; *.png", Title:="Select an Corrective Picture", MultiSelect:=False)
            ThisWorkbook.Sheets("DATA").Range("M2").Value = myfile2
            Set shpPic2 = ActiveSheet.Shapes.AddPicture(Filename:=myfile2, linktofile:=msoFalse, _
        savewithdocument:=msoTrue, Left:=Cells(r.Row, 14).Left + Shrink, Top:=Cells(r.Row, 14).Top + Shrink, _
            Width:=-1, Height:=-1)
    With shpPic2
        .LockAspectRatio = msoTrue
        .Width = Columns(14).Width - (2 * Shrink)
         Rows("2:2").RowHeight = .Height + (2 * Shrink)


End With
End If
    Next r

    Application.ScreenUpdating = True


    End Sub

我希望出现提示,以添加2张照片“问题图片”和“校正图片”,然后将其放置在第12和14列中,其中照片会调整大小以适合列宽,但行高度会进行调整以匹配图片高度。

0 个答案:

没有答案