我正在尝试删除幻灯片上的现有形状(图片)并尝试以下操作,但这些都不起作用。作为一些背景知识,此代码在Excel中运行但与powerpoint交互,这只是代码的一小部分。其他一切都很好(已经定义了PPPres)。我也尝试索引形状(即使它是幻灯片中唯一的一个)并使用for循环,但似乎仍然无法使其工作。
With PPPres.Slides(5).Shapes
If Shapes.Type = msoPicture Then
.Delete
End If
End With
*错误 - 未找到方法或数据成员(在.Delete上)。我知道“.Delete”仅适用于“with statement”,但我有,所以我不知道出了什么问题。随后说我然后尝试了以下内容:
If PPPres.Slides(5).Shapes.Type = msoPicture Then
Shapes.Delete
End If
*错误 - 未找到方法或数据成员(在.Type上)。我知道“.Type”存在,所以我对这个问题感到困惑。
感谢您的帮助!
答案 0 :(得分:1)
我认为最好在这种情况下使用For Each循环。如果有帮助,请参阅下文。
For Each shp In PPPres.Slides(5).Shapes
If shp.Type = msoPicture Then
shp.Delete
End If
Next shp
答案 1 :(得分:1)
Shapes返回对幻灯片的整个形状集合的引用。 如果您确定只有一种形状,请使用
With PPPres.Slides(5).Shapes(1)
If .Type = msoPicture Then
.Delete
End If
End With