Kevin Coppock
Kevin Coppock

Reputation: 134684

Call subroutine when a specific slide loads, or on a timer

I'm working with a PowerPoint 2003 presentation for a kiosk display, and it is left running pretty much 24/7. One slide on it has the weather, the current date, and the 7 day forecast.

I've already written the subs that will update the weather from an Excel workbook, and update the dates displayed, but right now I have to manually update it when I come in. Is there a way that I can have a subroutine (e.g. UpdateSlide()) called when the slideshow reaches that particular slide? It seems like there is no official way to do this, I'm assuming for security reasons, but what about a timed event, such that it would call it say, every six hours?

Upvotes: 4

Views: 13441

Answers (2)

BenV
BenV

Reputation: 12452

Use the built-in OnSlideShowPageChange event:

Public Sub OnSlideShowPageChange(ByVal Wn As SlideShowWindow)
   If Wn.View.CurrentShowPosition = 3 Then
       'Perform Updates for slide #3
   EndIf
End Sub

Edit: As kcoppock pointed out, you can put this code in any module.

Upvotes: 12

Todd Main
Todd Main

Reputation: 29153

The event SlideShowNextSlide is what you need. See How to write PowerPoint slide change to a file? for an example of how to use it.

Upvotes: 0

Related Questions