Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何插入嵌入的图片?_Excel_Vba_Ms Access - Fatal编程技术网

Excel 如何插入嵌入的图片?

Excel 如何插入嵌入的图片?,excel,vba,ms-access,Excel,Vba,Ms Access,xlApp.activesheet.Pictures.Insert(strImagePath)将图片作为链接图片插入电子表格。如果我将电子表格从网络中发送出去,图像就会失败 如何将图像作为嵌入图像放置 我还在Access中调用此方法。您可以使用shapes.addpicture方法 activesheet.Shapes.AddPicture Filename:="C:\test\desert.jpg", linktofile:=msoFalse, _ savewithdo

xlApp.activesheet.Pictures.Insert(strImagePath)
将图片作为链接图片插入电子表格。如果我将电子表格从网络中发送出去,图像就会失败

如何将图像作为嵌入图像放置


我还在Access中调用此方法。

您可以使用shapes.addpicture方法

activesheet.Shapes.AddPicture Filename:="C:\test\desert.jpg", linktofile:=msoFalse, _
            savewithdocument:=msoCTrue, Left:=0, Top:=0, Width:=100, Height:=100

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

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

谢谢@JosieP!这很有效。现在我尝试将其指定给一个形状对象,以便进行一些调整。我将shpPic设置为Shape
设置为shpPic=xlApp.activesheet.Shapes.AddPicture…
并得到一个类型不匹配错误。你知道为什么吗?基于xlApp部分,我猜你是在从另一个应用程序自动化,该应用程序有形状对象吗?如果是这样,请使用
dim shpPic作为Excel.Shape
Hi@JosieP,是的,我是从Access打来的。我不能使用
Excel.Shape
,因为我不想引用Excel库,因为我的用户拥有大量系统。我这样声明了我的excel实例:
Dim xlApp as Object
Set xlApp=CreateObject(“excel.Application”)
所以我尝试了
Dim shpPic=xlApp.Shape
,这给了我“用户定义类型未定义”错误。有什么想法吗?如果您延迟绑定excelno,您必须声明为Object,然后使用
设置shpPic=xlapp.activesheet.shapes.addpicture…
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Select