问题
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?
回答1:
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.
回答2:
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.
来源:https://stackoverflow.com/questions/3203961/call-subroutine-when-a-specific-slide-loads-or-on-a-timer