VBA PowerPoint 2007 - 如何在特定动画结束后触发幻灯片更改?

时间:2016-04-27 09:02:43

标签: vba animation triggers powerpoint powerpoint-vba

我正在制作以 PowerPoint 创建的游戏。我有一个归因于图像的退出动画,在特定幻灯片上(例如:第6张)需要7秒钟才能完成。这部分很简单,我没有VBA就完成了。现在我试图在这个动画结束后执行以下代码:

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

这就像倒计时一样,将用户发送到“Game Over”幻灯片。 我已经尝试了多个解决这个问题的方法,例如应用具有特定秒数,睡眠或延迟的DoEvents循环,但是其中一些只是使我的演示文稿崩溃或使其无响应(这使得所有游戏都无用)。

有没有办法“捕捉”PowerPoint中的动画结尾,以便它可以触发幻灯片更改或任何其他代码行?

谢谢!

1 个答案:

答案 0 :(得分:1)

- 这不是主要问题的答案,但我找到了一个针对我的案例的解决方法 -

我的问题是每张幻灯片,或者"等级"有一个倒计时,导致"游戏结束"经过一段特定时间后(X时间后自动前进幻灯片)。

最初,我的幻灯片设计是这样的,所以它需要一个动画触发器的计时器/结束才能进入" Game Over"放置在演示文稿末尾的幻灯片:

The initial order of slides

但是,我发现幻灯片的另一个定位并不需要额外的VBA代码,只有我附加到主要问题的代码。我已经放了一个" Game Over"在每个级别之后,只有通过完成红色幻灯片才能完成的级别。在每个中间的红色幻灯片上,我都放置了一个看不见的超链接,这个超级链接会导致最后一个" Game Over"幻灯片实际上是黑屏:

My solution without using extra VBA

*(箭头说明:绿色箭头表示水平条件已完成;红色箭头表示失败)