OfficeTips Home || VBA Section || General Section || Download Section || Privacy Policy

Break OLE links programmatically

Break links method isn't available in the PowerPoint object model. It is possible to break links by copying the shape to clipboard and pasting an image of the linked object using Window API and deleting the original object. There is also another way around this limitation as shown in the sample below. The snippet below converts all linked OLE objects into pictures. It executes the Break links menu item which is available in the command bar collection to convert an OLE linked shape into a picture.

Sub BreakLinks()
Dim oSld As Slide
Dim oShp As Shape
Dim oCmdButton As CommandBarButton
Set oCmdButton = CommandBars("Standard").Controls.Add(ID:=2956)
ActiveWindow.ViewType = ppViewSlide
For Each oSld In ActivePresentation.Slides
    For Each oShp In oSld.Shapes
        If oShp.Type = msoLinkedOLEObject Then
            ActiveWindow.View.GotoSlide oSld.SlideIndex
            ' Do not forget to add this line else you will get erratic
            ' results since the code execution does not halt while menu
            ' command is executed hence we have to let the execution
            ' complete before proceeding.

        End If
    Next oShp
Next oSld
End Sub

Copyright 1999-2011 (c) Shyam Pillai. All rights reserved.