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

时间:2017-04-30 16:01:01

标签: vba wait powerpoint-vba

幻灯片必须“在亭子上浏览”。我不想让用户通过按下一个键或类似的东西来选择转到下一张幻灯片。

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

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

Please check this picture! This is what my presentation looks like

用户按下四个选项中的任何一个。每个盒子都有一个触发器。当触发器被激活时,其中一个盒子变为绿色,其余的盒子变为红色。我是通过使用Animations完成的。

然后我想在动画播放几秒钟之后转到下一张幻灯片......但这怎么可能? 有没有办法在转到VBA中的下一张幻灯片时添加延迟?

1 个答案:

答案 0 :(得分:2)

在进入下一张幻灯片之前,您需要添加一些等待时间。使用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