2010-07-08 13 views
4

Je travaille avec une présentation PowerPoint 2003 pour un affichage de kiosque, et elle fonctionne à peu près 24h/24 et 7j/7. Une diapositive sur la météo, la date actuelle et les prévisions sur 7 jours.Appelez le sous-programme lorsqu'une diapositive spécifique est chargée ou sur une minuterie

J'ai déjà écrit les sous-marins qui mettront à jour la météo à partir d'un classeur Excel, et mettre à jour les dates affichées, mais maintenant je dois le mettre à jour manuellement quand je viens. Y at-il un moyen de sous-programme (par exemple UpdateSlide()) appelé lorsque le diaporama atteint cette diapositive en particulier? Il semble qu'il n'y ait pas de moyen officiel de le faire, je suppose pour des raisons de sécurité, mais qu'en est-il d'un événement chronométré, comme il dirait, toutes les six heures?

+0

Je ne devinerais pas les raisons de sécurité. Recherchez un événement DOM comme OnSlideDisplay sur lequel vous pouvez agir. (Je ne connais pas VBA). – msw

Répondre

8

Utilisez l'événement OnSlideShowPageChange intégré:

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

Edit: Comme kcoppock souligné, vous pouvez mettre ce code dans un module.

+0

Question stupide (je suis nouveau à VBA): où devrais-je placer ce sous? Peut-il aller dans n'importe quel module, ou devrais-je faire un module de classe pour cela? – kcoppock

+1

Peu importe, c'était une question stupide. Je l'ai juste testé en m'enfonçant dans mon module principal, et ça a bien fonctionné! Merci! – kcoppock

+1

C'est génial! Je ne connaissais pas cet événement, dans le passé je créais un cours et j'utilisais SlideShowNextSlide, mais c'est beaucoup plus facile !!! :) – Meihua