如何使用 VBA 在进入 PPT 中的下一张幻灯片之前添加延迟

How to add delay before going to next slide in PPT using VBA

幻灯片必须 "Browsed at a Kiosk"。我不想让用户可以通过按下一个键或类似的方式转到下一张幻灯片。

这是一个问答游戏。通过按下正确的选项,以下代码将激活:

Sub CorrectAnswer()
Correct.Caption = (Correct.Caption) + 1
Percentage.Caption = (Percentage.Caption) + 5
MsgBox "That was the correct answer!", vbInformation + vbApplicationModal, "FOLK Quiz"
ActivePresentation.SlideShowWindow.View.Next
End Sub

用户按下四个选项中的任意一个。每个盒子都有一个触发器。当触发器被激活时,其中一个框变为绿色,其余变为红色。我已经通过使用动画来做到这一点。

然后我想在动画播放几秒后转到下一张幻灯片...但这怎么可能? VBA?

是否有任何方法可以延迟转到下一张幻灯片

您需要等待一段时间才能转到下一张幻灯片。使用 Application.Wait 是可能的。您的代码将如下所示:

Sub CorrectAnswer()

  Correct.Caption = (Correct.Caption) + 1

  Percentage.Caption = (Percentage.Caption) + 5

  MsgBox "That was the correct answer!", vbInformation + _
                                         vbApplicationModal, "FOLK Quiz"
  lag = 3 
  start = Timer

  While Timer < Start + lag
        DoEvents
  Wend


  'Application.Wait(Now + TimeValue("0:00:03")) 'This adds 3 sec delay in ms VBA

  ActivePresentation.SlideShowWindow.View.Next

End Sub