从表单插入照片(Office 2007)

时间:2015-09-30 10:35:59

标签: vba excel-vba templates excel

在此代码之后

  With Sheets("Sheet1")
        ActiveSheet.Unprotect
        Range("Q3:S5").Select
        MyRange = Selection.Address

        PicLocation = UserForm1.txtImage

        If PicLocation <> "False" Then
            ActiveSheet.Pictures.Insert(PicLocation).Select
        Else
            Exit Sub
        End If

        With Selection.ShapeRange
            .LockAspectRatio = msoTrue
            If .Width > .Height Then
                .Width = Range(MyRange).Width
                If .Height > Range(MyRange).Height Then .Height = Range(MyRange).Height
            Else
                .Height = Range(MyRange).Height
                If .Width > Range(MyRange).Width Then .Width = Range(MyRange).Width
            End If
        End With

        With Selection
            .Placement = xlMoveAndSize
            .PrintObject = True
        End With

End With

`

我的图像不在我想要的合并单元格中(“Q3:S5”)。

但在办公室2010年,这段代码很好。 不幸的是,我需要在Office 2007中运行。

imageIssue

对不起外部链接,但我没有上传图片的声誉。

另外,我希望图像处于“中间对齐”。

谢谢!

1 个答案:

答案 0 :(得分:0)

查看此版本的代码是否有效。将文件名更改为您希望的方式。

Sub Button1_Click()
    Set myRng = Range("Q3:S5")
    Set mypict = myRng.Parent.Pictures.Insert("C:\Users\Dave\Downloads\9-29-2015 4-21-06 AM.jpg")
    mypict.Top = myRng.Top
    mypict.Width = myRng.Width
    mypict.Height = myRng.Height
    mypict.Left = myRng.Left
    mypict.Placement = xlMoveAndSize
End Sub