如何删除Excel 2007工作表中的所有图片?一个有效的代码示例很棒。
答案 0 :(得分:13)
最简单的方法:
Activesheet.Pictures.Delete
或
Activesheet.Shapes.Delete
取决于图片的对象类型。
以更高的效率删除所有图片,然后迭代(循环)并逐个删除它们。
答案 1 :(得分:8)
Dim shape As Excel.shape
For Each shape In ActiveSheet.Shapes
shape.Delete
Next
答案 2 :(得分:1)
要删除所有图片或其他形状,您可以迭代所有图片并检查类型:
Dim shape As Excel.shape
For Each shape In ActiveSheet.Shapes
Select Case shape.Type
Case msoPicture, msoMedia, msoShapeTypeMixed, msoOLEControlObject, msoAutoShape
shape.Delete
Case Else
'Do nothing
End Select
Next
在我的情况下,这段代码非常有用,因为我的表格中充满了msoAutoShape类型的透明形状,我认为这些形状是图片。所以,Activesheet.Pictures.Delete无效。
您可以在此链接上找到所有形状类型:http://msdn.microsoft.com/en-us/library/aa432678(v=office.12).aspx