0
votes

I am showing an "interactive" powerpoint presentation on a kiosk (you can touch some icons on the slides to navigate the presentation).

However, I would like to set a timer to go back to the first slide after xx seconds that one certain slide is shown.

I thought the best solution would be a macro but I really cannot find any hint anywhere. Any suggestion could help, even vba-code portions that could address one part of the problem.

3

3 Answers

1
votes

You can use SlideShowView.GotoSlide method of VB Macros to do so. However since your question has no attempt and this website is not a free coding service; please have a codeblock that you have efford on it, then ask for defected points or improvements.

1
votes

You need to add a delayed macro to go to a certain slide:

  lag = 120 'Number of Seconds
  start = Timer

  While Timer < Start + lag
        DoEvents 'i.e do nothing
  Wend

  ActivePresentation.SlideShowWindow.View.GotoSlide (SlideNumber)

Then, you also need the sub-routine to play when you reach that one certain slide. You can do that by:

Sub OnSlideShowPageChange(ByVal SSW As SlideShowWindow)
If SSW.View.CurrentShowPosition = SSW.Presentation.Slides(x).SlideIndex Then

'PUT CODE HERE

End If
End Sub
0
votes

I actually managed to achieve that without any macro! In the slideshow settings just set up the presentation in kiosk mode and select only the first slide as the one to be shown in the slideshow. Then put a timer for all the slides to go to the next slide automatically after the time you prefer (there is a button to apply the setting to all slides). The next slide is always going to be the first one because is the only on you selected for the slideshow. Therefore, whatever slide you navigate to through the links in the presentation, after the time you have set it will always go back to the beginning.