0
votes

I have a number of large PowerPoint presentations (each ~800 slides) that are written in PP '95 and need to be converted for students to view in a current version of PowerPoint. The author made frequent use of text with 'HideOnNextClick' which is misinterpreted by PP 2003 onwards. If it isn't followed by a mouse click effect the text (or anything with this effect) disappears immediately.

If the effect isn't the last one on the slide it can be solved by setting the Timing.TriggerType for the next effect by using:-

Dim e0 As Effect, e1 As Effect
........
If e0.EffectInformation.AfterEffect = msoAnimAfterEffectHideOnNextClick Then
            e1.Timing.TriggerType = msoAnimTriggerOnPageClick
End If 

The problem is that if it is the last item there is no 'next item' to take the 'msoTriggerOnPageClick'.

Manually changing the 'Effect Options...' from 'Hide on Next Mouse Click' to 'Don't Dim' has the desired effect, but I've spent several days without success using VBA.

I was hopeful that...

If e0.EffectInformation.AfterEffect = msoAnimAfterEffectHideOnNextClick Then
       Set e0.effConvert = e0.ConvertToAfterEffect _
    (Effect:=effConvert, After:=msoAnimAfterEffectNone)
End If

...would work, but 'e0.ConvertToAfterEffect' fails with a "Compile error: Method or data member not found".

Any assistance with the syntax or correct method gratefully received.Thank you

1

1 Answers

0
votes
Sub chexAfter()
Dim e0 As Effect
Dim osld As Slide
Set osld = ActivePresentation.Slides(1)
For Each e0 In osld.TimeLine.MainSequence
If e0.EffectInformation.AfterEffect = msoAnimAfterEffectHideOnNextClick Then
Set e0 = osld.TimeLine.MainSequence.ConvertToAfterEffect _
(Effect:=e0, After:=msoAnimAfterEffectNone)
End If
Next
End Sub