2016-04-27 126 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

*(箭头的解释:绿色箭头指该级别的条件已完成;红色箭头表示失败)