11

xlApp.activesheet.Pictures.Insert(strImagePath) inserts pictures into a spreadsheet as a linked picture. If I send the spreadsheet out of our network the images fail.

How can I place an image as an embedded image?

I am also calling this method from Access.

4

3 回答 3

22

你可以使用shapes.addpicture方法

activesheet.Shapes.AddPicture Filename:="C:\test\desert.jpg", linktofile:=msoFalse, _
            savewithdocument:=msoCTrue, Left:=0, Top:=0, Width:=100, Height:=100
于 2013-06-14T14:35:48.597 回答
1

请注意,您可以将所需的Width和Height参数设置为-1,从而保持原始图像的高度和宽度!

Activesheet.Shapes.AddPicture Filename:="C:\image.jpg", LinkToFile:=msoFalse, _
        SaveWithDocument:=msoTrue, Left:=0, Top:=0, Width:=-1, Height:=-1

http://excelmatters.com/2013/11/25/default-picture-size-with-shapes-addpicture/

(作为增加可见性的另一个答案,因为我多年来一直在努力解决这个问题,并且在其他任何地方都没有发现这个解决方案。)

于 2018-01-06T10:05:21.743 回答
0
Activesheet.Shapes.AddPicture Filename:="C:\image.jpg", LinkToFile:=msoFalse, _
        SaveWithDocument:=msoTrue, Left:=0, Top:=0, Width:=-1, Height:=-1

这行得通,也许以下代码也可以帮助某人(它帮助了我)这就是您选择刚刚添加的图像的方式:

ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Select
于 2019-06-10T10:11:30.383 回答