2016-04-27 13 views
0

Ich arbeite an einem Spiel erstellt in PowerPoint. Ich habe eine Exit-Animation, die einem Bild auf einer bestimmten Folie (z. B. der 6.) zugeordnet ist, die 7 Sekunden dauert. Dieser Teil ist einfach, ich habe es ohne VBA gemacht. Jetzt versuche ich den folgenden Code auszuführen, nachdem diese Animation endet:VBA PowerPoint 2007 - Wie trigger ich einen Folienwechsel nach einem bestimmten Animationsende?

With SlideShowWindows(1).View 
    .GotoSlide 17, msoFalse 
End With 

Es ist wie ein Countdown, der den Benutzer zu einem „Game Over“ Dia sendet. Ich habe versucht, mehrere Lösungen für dieses Problem wie DoEvents Loops mit bestimmten Sekunden, Sleep oder Verzögerungen, aber einige von ihnen stürzte gerade meine Präsentation oder machte es nicht mehr reagiert (das macht das Spiel nutzlos).

Gibt es einen Weg zu "fangen" das Ende einer Animation in PowerPoint, so dass es diese Folie Änderung oder jede andere Codezeile auslösen kann?

Vielen Dank!

+0

Ich kenne keine Möglichkeit, VBA aus einer Animation auszulösen. Sie können jedoch die Folie nach der letzten Animation automatisch weiterlaufen lassen und das Folienänderungsereignis mit VBA einfangen. –

Antwort

0

-Das ist nicht die Antwort auf die wichtigste Frage, aber ich habe eine Lösung für meinen Fall-

Das Problem in meinem Fall war festgestellt, dass jede Folie oder „Level“ einen Countdown hatte, die zur Folge hat in einem "Game Over" nach einer bestimmten Zeit (Advance Slide Automatically After X Time).

Anfänglich wurde meine Diashow wie diese gestaltet, so benötigt es einen Timer/Ende einer Animation Trigger in ein „Game Over“ Dia am Ende der Präsentation platziert zu Schritt:

The initial order of slides

jedoch Ich habe eine andere Positionierung von Folien gefunden, die keinen zusätzlichen VBA-Code erfordert, nur den, den ich an die Hauptfrage angehängt habe. Ich habe eine Kopie des "Game Over" nach jedem Level platziert, also nur durch das Erreichen des Levels konnte man durch die rote Folie gehen. An jedem Zwischen roten Schlitten habe ich einen unsichtbaren Hyperlink platziert whick zum endgültigen „Game Over“ Rutsche führt, die in der Tat ein schwarzer Bildschirm ist:

My solution without using extra VBA

* (Erklärung der Pfeile: grüne Pfeile bedeutet, dass der Zustand des Levels wurde erreicht, die roten Pfeile bedeuten Fehler)