为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用VBA在指定单元格位置处将图片插入Excel中

如何使用VBA在指定单元格位置处将图片插入Excel中

我使用以下代码将“ .jpg”文件添加到我的Excel工作表中:'Add picture to excelxlApp.Cells(i, 20).SelectxlApp.ActiveSheet.Pictures.Insert(picPath).Select'Calgulate new picture sizeWith xlApp.Selection.ShapeRange    .LockAspectRatio = msoTrue    .Width = 75    .Height = 100End With'Resize and make printableWith xlApp.Selection    .Placement = 1 'xlMoveAndSize    '.Placement = 2 'xlMove    '.Placement = 3 'xlFreeFloating    .PrintObject = TrueEnd With我不知道自己在做错什么,但是没有将其插入正确的单元格中,所以该怎么做才能将该图片放入Excel中的指定单元格中?
查看完整描述

3 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

尝试这个:


With xlApp.ActiveSheet.Pictures.Insert(PicPath)

    With .ShapeRange

        .LockAspectRatio = msoTrue

        .Width = 75

        .Height = 100

    End With

    .Left = xlApp.ActiveSheet.Cells(i, 20).Left

    .Top = xlApp.ActiveSheet.Cells(i, 20).Top

    .Placement = 1

    .PrintObject = True

End With

最好不要在Excel中选择任何内容,通常这从来没有必要,这会使代码变慢。


查看完整回答
反对 回复 2019-11-02
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

查看发布的答案,我认为这段代码对于某人来说也是一种选择。上面没有人.Shapes.AddPicture在他们的代码中使用过.Pictures.Insert()


Dim myPic As Object

Dim picpath As String


picpath = "C:\Users\photo.jpg" 'example photo path


Set myPic = ws.Shapes.AddPicture(picpath, False, True, 20, 20, -1, -1)


With myPic

    .Width = 25

    .Height = 25

    .Top = xlApp.Cells(i, 20).Top 'according to variables from correct answer

    .Left = xlApp.Cells(i, 20).Left

    .LockAspectRatio = msoFalse

End With

我正在使用Excel2013。还意识到您需要填写中的所有参数.AddPicture,因为错误“参数不是可选的”。看着这个,您可能会问为什么我将Height和设置Width为-1,但这没关系,因为这些参数设置在With方括号之间。


希望它对某人也可能有用:)


查看完整回答
反对 回复 2019-11-02
  • 3 回答
  • 0 关注
  • 4022 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信