【问题标题】:VBA PowerPoint 2007 - How do i trigger a slide change after a specific animation end?VBA PowerPoint 2007 - 如何在特定动画结束后触发幻灯片更改?
【发布时间】:2016-04-28 23:46:51
【问题描述】:

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

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

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

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

谢谢!

【问题讨论】:

  • 我不知道从动画中触发 VBA 的方法。但是,您可以让幻灯片在最后一个动画之后自动前进,并使用 VBA 捕获幻灯片更改事件。

标签: vba animation triggers powerpoint


【解决方案1】:

-这不是主要问题的答案,但我找到了适合我的情况的解决方法-

在我的情况下,问题是每张幻灯片或“关卡”都有一个倒计时,这会在特定时间后导致“游戏结束”(X 时间后自动推进幻灯片)。

最初,我的幻灯片是这样设计的,所以它需要一个计时器/动画触发器的结束才能进入放置在演示结束处的“游戏结束”幻灯片:

The initial order of slides

但是,我发现了另一个不需要额外 VBA 代码的幻灯片定位,只有我附加到主要问题的那个。我在每个关卡之后都放了一份“游戏结束”副本,所以只有完成关卡,你才能通过红色幻灯片。在每个中间红色幻灯片上,我放置了一个不可见的超链接,指向最终的“游戏结束”幻灯片,实际上是一个黑屏:

My solution without using extra VBA

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

【讨论】:

    猜你喜欢
    • 2014-01-15
    • 2014-12-27
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多