Ungroup all the OLE objects in a presentation
This macro will ungroup then regroup all of the OLE embedded or linked objects in a presentation. That leaves the object looking (usually) just as it did before but removes any links to data (whether held in the PPT file itself or externally).
Because the data's discarded, the objects will no longer update, and you'll no longer be able to doubleclick to launch the application that created the objects, so you can give your presentation to someone else with no risk that they'll be able to meddle with the data.
This can also shrink some PPT files substantially.
Sub UngroupTheOLEs() Dim oSlides As Slides Dim oSld As Slide Dim oShapes As Shapes Dim oShp As Shape Dim oShapeRange As ShapeRange Set oSlides = ActiveWindow.Presentation.Slides For Each oSld In oSlides Set oShapes = oSld.Shapes For Each oShp In oShapes If oShp.Type = msoEmbeddedOLEObject Or _ oShp.Type = msoLinkedOLEObject Then Set oShapeRange = oShp.Ungroup oShapeRange.Group End If Next oShp Next oSld End Sub
See How do I use VBA code in PowerPoint? to learn how to use this example code.