excel vba shape.copy在一个实例中工作,但不在另一个实例中

如果(在Excel 2010中)我创build一个形状对象如下所示:

Set ws = ActiveSheet Set sh = ws.Shapes.AddPicture(inpicfile, msoFalse, msoTrue, 0, 0, widpts1, htpts1) 

然后我可以用一条语句将该图片复制到剪贴板:

 sh.Copy 

但是如果我在一个单元格的评论中有一张图片,那么我的形状如下:

 Set sh = Activecell.Comment.Shape 

那么一个sh.copy语句会给我一个Run Tim错误'1004'; 应用程序定义或对象定义的错误。

任何人知道为什么

我发现以下方法来复制评论图片,但我想了解两个“形状”之间的区别。

 Application.ScreenUpdating = False c.Comment.Visible = True sh.Select sh.CopyPicture Appearance:=xlScreen, Format:=xlPicture c.Comment.Visible = False Application.ScreenUpdating = True 

(c是单元格的范围对象。)