VBA Linking (solve broken links problems)
If you have too many links in a single presentation, PowerPoint may start to lose existing links as you add new ones, or start sending links to the wrong location.
One way to solve the problem is to use VBA to create "pseudo-links". You can have any number of these in a presentation without triggering the problem that cause PPT to corrupt your links.
First, add this subroutine to your presentation:
Sub Jump(oShp As Shape) ' This assumes that the shape has a tag set to the number ' of the slide we want to jump to ' Use the companion SetUpJump routine to tag the slide Dim sTemp As String sTemp = oShp.Tags("JumpTo") If Len(sTemp) > 0 Then SlideShowWindows(1).View.GotoSlide (CLng(sTemp)) End If End Sub
Next, select a shape that you want to assign a jump to, then run the following macro (this macro can be in a different presentation if you like; only the Jump macro above needs to be in your "real" presentation.
Sub SetUpJump() On Error GoTo ErrorHandler Dim sTemp As String With ActiveWindow.Selection.ShapeRange(1) sTemp = InputBox("Slide number to jump to", "Where to, Mac?") If Len(sTemp) = 0 Then Exit Sub End If .Tags.Add "JumpTo", sTemp With .ActionSettings(ppMouseClick) .Run = "Jump" .Action = ppActionRunMacro End With End With NormalExit: Exit Sub ErrorHandler: MsgBox "Select one and only one shape, please" Resume NormalExit End Sub
See How do I use VBA code in PowerPoint? to learn how to use this example code.