使用VBA将图片插入(然后引用)到Excel中

时间:2014-08-20 09:14:28

标签: excel excel-vba vba

我试图使用VBA将图片插入到工作表中,我稍后可以通过名称引用(例如删除或隐藏)。

我可以使用类似下面的代码插入图像:

 ActiveSheet.Shapes.AddPicture Filename:="image.jpg", linktofile:=msoFalse, _
        savewithdocument:=msoCTrue, Left:=10, Top:=20, width:=100, Height:=50

但是,我努力将图片分配给一个形状(或其他对象),以便我可以命名并稍后引用它。 e.g。

Dim shp As Shape
set shp = ActiveSheet.Shapes.AddPicture Filename:="image.jpg", linktofile:=msoFalse, _
        savewithdocument:=msoCTrue, Left:=10, Top:=20, width:=100, Height:=50
shp.name = "myPicture"

... some code ...

ActiveSheet.Shapes("myPicture").Delete ' or similar code to later delete the image 

但是,我在set shp = ...

上收到语法错误

我还尝试使用:Dim shp As Excel.ShapeDim shp As Object根据SO帖子中的评论:VBA to insert embeded picture excel但仍然会出现语法错误。

我哪里错了?

1 个答案:

答案 0 :(得分:5)

从方法返回值时需要括号:

set shp = ActiveSheet.Shapes.AddPicture(Filename:="image.jpg", linktofile:=msoFalse, _
        savewithdocument:=msoCTrue, Left:=10, Top:=20, width:=100, Height:=50)