2016-04-27 127 views
0

我正在製作一個遊戲PowerPoint。我有一張退出動畫,歸因於一張圖片,在特定幻燈片上(例如:第6張)需要7秒才能完成。這部分很簡單,我沒有使用VBA。我現在想這個動畫結束後,執行下面的代碼:VBA PowerPoint 2007 - 如何在特定動畫結束後觸發幻燈片更改?

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

這就像將用戶的「遊戲結束」幻燈片倒計時。 我已經嘗試了多個解決方案,像應用具有特定秒數,睡眠或延遲的DoEvents循環,但其中一些只是使我的演示文稿崩潰或使其無響應(使所有遊戲無用)。

有什麼辦法可以「捕捉」PowerPoint中動畫的結尾因此它可以觸發幻燈片更改或任何其他代碼行?

謝謝!

+0

我不知道從動畫觸發VBA的方式。但是,您可以讓幻燈片在最後一個動畫之後自動前進,並使用VBA捕捉幻燈片更改事件。 –

回答

0

- 這不是主要問題的答案,但我已經找到了解決辦法爲我的病例

在我的情況的問題是,每一張幻燈片,或「級別」了而導致倒計時在特定時間段後的「遊戲結束」(在X時間後自動提前滑動)。

最初,幻燈片演示的目的是這樣的,因此它需要一個動畫觸發器的計時器/結束到步驟放進設在演示文稿的端部的「遊戲結束」幻燈片:

The initial order of slides

然而,我發現幻燈片的另一個定位不需要額外的VBA代碼,只有我附加到主要問題的那個。我已經在每個關卡之後放置了「遊戲結束」的副本,所以只有通過完成關卡才能完成 - 可以跳過紅色滑蓋。在每個中間紅色滑蓋我已經放在一個無形的超級鏈接whick導致最後的「遊戲結束」幻燈片這實際上是一個黑色的屏幕:

My solution without using extra VBA

*(箭頭的解釋:綠色箭頭指該級別的條件已完成;紅色箭頭表示失敗)