用vba写动画之定时器sleep

本文介绍如何使用VBA在PowerPoint中创建动画效果。通过自定义Sleep函数实现定时器功能,当用户点击按钮时启动动画,直至再次点击停止。在过程中,DoEvents确保程序运行期间不会卡顿。
摘要由CSDN通过智能技术生成

 当用户点击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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值