当用户点击ppt中的按钮时,会产生一个连续的动画。一直到下一次点击时停止动画。
这里自定义了sleep函数,参数毫秒。
DoEvents相当于本线程唤醒了系统线程,让画面不会卡住。
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Sub sleep(ts) '线程睡眠函数
Dim t, t1
t = timeGetTime
Do
t1 = timeGetTime
If t1 < t Then t1 = 86400 + t1
DoEvents
Loop Until t1 - ts > t
End Sub
Sub run_it()
Debug.Print "theClassIndex=" & theClassIndex
Debug.Print "theIndex=" & theIndex
If status Then '停下来
status = False
ActivePresentation.Slides(1).Shapes("Rounded Rectangle 6").Visible = msoTrue '开始
ActivePresentation.Slides(1).Shapes("Rounded Rectangle 14").Visible = msoFalse '停止
Else '开始动画
If theClassIndex = -1 Then
MsgBox "全部开始已完成,如要保存结果请保存此PPT。" & vbCrLf & "如要全部重新开始,请点重置!"
Exit Sub
End If
'Deb