Morgan
Morgan

Reputation: 15

Powerpoint and VBA - "Modular" presentation

Let me explain the context: I have a huge training material (some 750 slides, for a two-days training) to rework. Even though it is considered a "in-depth training", not all the material is useful for a given two-days session. Depending on the trainees profile, a chapter can either be fully presented with practical advices, or only the overview is given. This means, before every session, I review the material and manually select which slides will be presented/hidden according to the trainees profile.

As I've never used VBA macros on Powerpoint, I was wondering if it is possible to, say, "tag" the slides with one or several roles (e.g. slide for "system designer", slide for "certification specialist", slide for "system designer + certification manager", etc...), and then by a simple form, check the "tags" you want and automatically generate the related presentation with the tagged slides accordingly.

For example, if for a given training session I have no system designer, but I have certification specialists and managers, I will check "certification specialist" and "certification manager" and it will generate me the presentation with only the slides that have those tags.

I hope I was clear enough...

Many thanks in advance !

Morgan

Upvotes: 0

Views: 362

Answers (1)

Steve Rindsberg
Steve Rindsberg

Reputation: 14809

Yes, this would be possible. Using VBA, you could tag the slides (there actually ARE things called tags in the object model), then have a routine make any slides tagged a certain way visible and all others invisible.

To add a tag to the currently selected slide, you'd do something like this to identify all of the currently selected slides as being material for Certification Specialists. Slides can have multiple tags, so you can mod the same code to make it tag them for the other types of audience as well.

Sub TagAsCertificationSpecialist()

    Dim x As Long

    For x = 1 To ActiveWindow.Selection.SlideRange.Count
        ActiveWindow.Selection.SlideRange(x).Tags.Add "CertificationSpecialist", "YES"
    Next

End Sub

Upvotes: 1

Related Questions