在PowerPoint中使用VBA删除一个幻灯片上的所有图像

3
我希望您能在PowerPoint中使用VBA仅删除幻灯片上的图片。
给定的代码会删除幻灯片上的所有形状。
Sub DeleteAllPictures()

ActivePresentation.Slides(1).Shapes.Range.Delete

End Sub

以下代码添加了图片:

    Sub InsertPic_EAP()
  'Insert Picture
 ActivePresentation.Slides(1).Shapes.AddPicture FileName:="U:\Automatisierung\3D_Module\EAP.png", _
   LinkToFile:=msoTrue, _
   SaveWithDocument:=msoTrue, Left:=260, Top:=110, _
   Width:=270, Height:=250

 ActivePresentation.Slides(1).Shapes.AddPicture FileName:="U:\Automatisierung\Bilder_AP\EAP_01.png", _
   LinkToFile:=msoTrue, _
   SaveWithDocument:=msoTrue, Left:=620, Top:=220, _
   Width:=270, Height:=115

    End Sub

我该如何修改代码,只选择并删除幻灯片上的图片。

1个回答

2
这段代码适用于您:编辑 - 适用于链接图片
Sub DeleteAllPictures()

Dim shp As Shape

    For Each shp In ActivePresentation.Slides(1).Shapes

    If shp.Type = msoLinkedPicture Then
        shp.Delete
    End If

    Next

End Sub

循环遍历幻灯片中的所有形状,如果是图片则删除。


当我运行代码时,什么也没有发生。 :/ - Bartek
我很确定。也许问题在于图片是通过宏添加的:Sub InsertPic_EAP() '插入图片 ActivePresentation.Slides(1).Shapes.AddPicture FileName:="U:\Automatisierung\3D_Module\EAP.png", _ LinkToFile:=msoTrue, _ SaveWithDocument:=msoTrue, Left:=260, Top:=110, _ Width:=270, Height:=250 …等等。 - Bartek
好的,答案中的宏应该会删除这些图像。你能分享一下幻灯片吗? - Mikku
我再次尝试了一下,对于正常添加的图片,代码是完美的。但是用宏添加的图片仍然停留在幻灯片上。 - Bartek
@ Bartek:我遇到了你描述的同样问题。由宏添加的所有图像都无法正常工作。将“msoLinkedPicture”更改为“msoPicture”对我有帮助。现在所有图片都可以一次性删除。 - Matthias La
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接