Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to auto advance a PowerPoint slide after an exit animation is over?

Tags:

powerpoint

vba

PowerPoint entrance animation set up with "Start: With Previous" starts right when a new slide is advanced. However, if you set up an exit animation in the same way, it doesn't start with a slide ending sequence. Instead, the "Start: On Click" trigger needs to be used and after your exit animation is over you still need one extra click just to advance to the next slide.

Workarounds to this are obvious: create a duplicate slide, make your ending animations from the original slide being your starting animations on the duplicate slide and let them be followed with whatever you want or create a transition slide with those ending animations only and set up "Change Advance slide -> Automatically after -> [the time it takes your animations to finish]".

These workarounds will make it work for your audience, visually. However, it has an impact on slide numbers you might need to adjust accordingly and/or duplicate content changes. If you are the only one creating and using your presentation, this might be just fine. But if you are creating a presentation in collaborative mode with three other people and don't even know who will be the presenter at the end, you can mess things up.

Let's be specific: most of my slides have 0.2s fly in entrance animation applied to blocks of content coming from right, bottom or left. Advancing to the next slide I want them to fly out in another 0.2s exit animation being followed by new slide 0.2s fly in entrance animation of the new blocks. The swapping of the blocks should be triggered while advancing to the next slide, as usually.
As mentioned, I'm not able to achieve this without one extra click between the slides.

I wrote a VBA script that should start together with an exit animation and will auto advance a slide after 0.3s when the exit animation is over. That way I should get rid of those extra clicks which are needed right now.

Sub nextslide()
iTime = 0.3
Start = Timer
While Timer < Start + iTime
DoEvents
Wend
With SlideShowWindows(1).View
    .GotoSlide (ActivePresentation.SlideShowWindow.View.Slide.SlideIndex + 1)
End With
End Sub

It works well when binded on a box, button or another object. But I can't make it run on a single click (anywhere on the slide) so that it could start together with the exit animation onclick trigger. Creating a big transparent rectangular shape over the whole slide and binding the macro on it doesn't help either. By clicking it you only get the macro running, exit animation is not triggered.
Anyway, I don't want to bind the macro to any other workaround object but the slide itself.

Anyone knows how to trigger a PowerPoint VBA script on slide onclick event?
Anyone knows a secret setting that will make the exit animation work as expected i.e. animating right before exiting a slide while transitioning to the next one?
Anyone knows how to beat this dragon?

Thank you!

like image 730
joooc Avatar asked Feb 12 '12 00:02

joooc


People also ask

How do you advance the next slide after animation?

You will need to set the SLIDESHOW (tab) to Use (Rehearsal) Timings. This will automatically advance the slide after the last animation action. You could, of course give it some seconds to wait, but it sounds like you just want to advance the slide.

How do I get PowerPoint slides to automatically advance?

To advance slides automatically:Select the slide you want to modify. Locate the Timing group on the Transitions tab. Under Advance Slide, uncheck the box next to On Mouse Click. In the After field, enter the amount of time you want to display the slide.

How do you do slide transitions After animation?

On the left side of the slide window, in the pane that contains the Outline and Slides tabs, click the Slides tab. Select any slide thumbnails of the slides on which you want to apply or change a slide transition. On the Animations tab, in the Transition To This Slide group, click a slide transition effect.

Why won't my PowerPoint slides advance automatically?

Solution: Go to Transution Tab and check if the Advance Slide on Mouse Click Option is checked. If not, Check the option and Apply it to All slides. This will ensure that your slides move forward in slideshow option.


2 Answers

You can intercept events in powerpoint using class module

In Class Module

In left combo (object) in VBA Explorer you can see ppt and in right your events

Private WithEvents ppt As PowerPoint.Application

In common module use

set x= new class1

Now you can use all events of presentation.

[]'s

like image 56
Bruno Leite Avatar answered Nov 16 '22 01:11

Bruno Leite


You could also set the TRANSITIONS (tab) -> Advance Slide After 00:00:00 seconds. You will need to set the SLIDESHOW (tab) to Use (Rehearsal) Timings. This will automatically advance the slide after the last animation action. You could, of course give it some seconds to wait, but it sounds like you just want to advance the slide.

like image 40
Tom Pizzato Avatar answered Nov 16 '22 01:11

Tom Pizzato