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

使用VBA将图片插入(然后引用)Excel,excel,vba,Excel,Vba,我正在尝试使用VBA将图片插入到工作表中,以后可以按名称引用(例如删除或隐藏) 我可以使用类似以下代码插入图像: ActiveSheet.Shapes.AddPicture Filename:="image.jpg", linktofile:=msoFalse, _ savewithdocument:=msoCTrue, Left:=10, Top:=20, width:=100, Height:=50 然而,我正在努力将图片指定给一个形状(或其他对象),以便我可以命名它并在

我正在尝试使用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=…
行上遇到了一个语法错误

根据SO post中的注释,我还尝试了:
Dim shp As Excel.Shape
Dim shp As Object
:但仍然出现语法错误


哪里出错了?

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

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