Share via

Persistent internal slide links

Anonymous
2018-02-20T16:44:06+00:00

My sincere apologies if this topic is covered elsewhere or if the answer is painfully obvious but I have looked everywhere and find similar questions but nothing specific. I am far from powerpoint power user.

I am required to create a status report in powerpoint with input from a number of team members. The report has slides with volatile info, updated each week, and overview slides, which are generally static.

There is no document management system. Each team member takes the latest aggregated set, extracts the slides they must change, update and return this subset, which are then finally re-compiled.

The problem I face is that each slide contains links to the static overview and summary pages for reference and on extracting and saving the subset, the links to the static slides (now removed) are lost, requiring me weekly to go through and reset them all.

So what I was hoping is that there was a way to create a fixed eg "Link to Slide 10" or better still "Link to slide project1summary" that is maintained across the extraction/recompilation process.

The former solution would be nice enough but the problem is sometimes complicated if a new project or slide is added because then what was slide 10 may become slide 11 next week. The option to distribute and work with complete files (hoping to maintain the links) was not considered desirable by management who wish to review each team members updates independently.

Any advice anyone may have that results in my not having to reset 200+ links each week would be VERY gratefully received.

Thanks in advance

***Moved from Office / PowerPoint / Windows 10 / Office 2016***

Microsoft 365 and Office | PowerPoint | For home | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments

8 answers

Sort by: Most helpful
  1. Steve Rindsberg 99,166 Reputation points MVP Volunteer Moderator
    2018-02-27T16:27:16+00:00

    Sensible approach.

    Sometimes it's quicker and simpler just to do the thing manually than to spend the hours of time it'd take to automate it.

    (Psssst ... don't tell any programmers that. They're happier spending 10 hours coding a solution to a 1 hour manual problem.)

    Was this answer helpful?

    0 comments No comments
  2. Anonymous
    2018-02-27T10:03:39+00:00

    Again Steve, thanks for your kind response, especially for being so kind as to trouble yourself with the code segment.

    I actually think my problem may be easier to solve, as the slides are well structured and the links are all navigational, so I could, for example, use the slide titles to 'pair up' the associated slides and then use the text in the text box as a search string which, being navigational, remains the same, eg (link to project description, link to project status, link to project summary, link to project plan etc).

    Ultimately, it's a typical issue of using an application for something it was not designed to do, just because it's available.

    I think I'm still a little way off tackling this personally, although I have decided I will give it a go out of stubborness. It just means starting at square one, which I have to make time for.

    I also need to be pragmatic and take into account that two to three hours every week updating hyperlinks is still less time than the hours I would have to spend learning VBA to resolve the problem automatically.

    I'll revisit the issue if I get a contract renewal beyond July ROFL.

    Thanks again Steve :O)

    Was this answer helpful?

    0 comments No comments
  3. Steve Rindsberg 99,166 Reputation points MVP Volunteer Moderator
    2018-02-21T21:44:19+00:00

    With a bit of "pre-prep" you can set the presentation up so that the needed slides and linked shapes can be found easily.  No need to guess at things based on position.

    I understand that you probably don't want to tackle this, but as another thought exercise, this will give you some notion of how you might approach it:

    For example, to prep the static slides:

    Sub TagStaticSlide()

        Dim sTemp As String

        sTemp = InputBox("Name the selected slide", "Slide name")

        ' User's either entered a name or blank

        ' If blank, do nothing

        If Len(sTemp) > 0 Then

            ' Tag the slide with the value user entered (Uppercased)

            ActiveWindow.Selection.SlideRange(1).Tags.Add "STATIC", UCase(sTemp)

        End If

    End Sub

    You could then use something like this to locate the slide with a

    given tag (in this case, I've called it Slide 4)

    Sub TestFindSlide()

        Dim oSl As Slide

        Set oSl = FindSlideTaggedWith("Slide 4")

        If Not oSl Is Nothing Then

            MsgBox "Slide index is: " & CStr(oSl.SlideIndex) _

                & vbCrLf & "Slide ID is:" & CStr(oSl.SlideID)

        End If

    End Sub

    Function FindSlideTaggedWith(sTemp As String) As Slide

        Dim oSl As Slide

        For Each oSl In ActivePresentation.Slides

            If oSl.Tags("STATIC") = UCase(sTemp) Then

                ' FOUND it

                Set FindSlideTaggedWith = oSl

                Exit Function

            End If

        Next

    End Function

    Now if another routine tagged each hyperlinked shape with the tag of the slide it's linked to, you'd have a way of relinking the correct slide later.

    Was this answer helpful?

    0 comments No comments
  4. Anonymous
    2018-02-21T09:18:25+00:00

    Thank you Steve for your kind response.

    I have programming experience in a long since forgotten life. Nothing useful any more I'm afraid. If there is no in-app solution, I guess at least I can stop looking.

    I see your thinking though and agree. In fact the structure of the slide set would lend itself to an algorithmic solution, were I smart enough. Unfortunately there is nobody in the organisation that could help and nobody would be interested in funding development.

    I guess one could 'nested loop' through the objects on each slide and create an array to cross reference eg slide title with slide number and based on that, be able to establish the required link reference, as each status page has either a 'link to overview' or overview has a 'link back to status', ie only one link per page. I guess the question is if the boxes are definable from their position. If not I guess some level of string parsing on the text box contents could be done.

    Of course I would be more than happy to give more detail to anyone interested in it as a thought exercise but totally understand and respect that this is not necessarily what this forum is for.

    Was this answer helpful?

    0 comments No comments
  5. Steve Rindsberg 99,166 Reputation points MVP Volunteer Moderator
    2018-02-21T00:13:39+00:00

    I can't think of any way of doing this with PowerPoint as it comes off the shelf, but I have a strong hunch that a solution could be automated with VBA.  Do you have any VBA programming experience, or have access to someone on staff who does?

    If each of the static slides were uniquely identified (say with what VBA calls "tags" ... invisible to the user), and then you ran a macro on the show that looked at each link and if it points to one of these static slides, tags the shape the link is applied to.  That'd be the setup phase.

    Then as the deck is updated, you'd run another macro that looks for each link and if the shape the link is applied to has a tag, it converts the tag to the corrected hyperlink (ie, points it back at the original static slide).

    A couple of us write this sort of thing for a living.  If you'd like to leave your contact info or, probably better, request the email address of anyone who wants to pursue the project further, you may get some takers.

    Was this answer helpful?

    0 comments No comments