ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: chenhuafu

[求助]PowerPoint 中的VBA中怎样才能支持 Application.OnTime?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-11-7 16:47 | 显示全部楼层

[求助]PowerPoint 中的VBA中怎样才能支持 Application.OnTime?

关于TIMER(定时器), DOS时代是没有进程线程等概念的,那时候要想做到定时真是有些麻烦.通常的做法是死循环不断监测时间,发现时间到了就做特定的事情或截取系统的时钟中断.

Windows是个伟大的进步, 系统提供了Timer支持. Win32 API中有个SetTimer函数,可以创建一个定时器,这个定时器会定时产生消息WM_TIMER调用.

VB中的TIMERVBA中的TIMER 的源代码都是用到了SetTimer.关于这一点.我记得BUTTON兄几年前的帖子中有提过. 请参考:(1.VBA定时器的使用.2.API函数)

http://www.officefans.net/cdb/viewthread.php?tid=23280&extra=page%3D5

TA的精华主题

TA的得分主题

发表于 2020-3-19 14:11 | 显示全部楼层
本帖最后由 lss001 于 2020-3-19 20:34 编辑

Declare PtrSafe Function SetTimer Lib "user32" (ByVal hWnd As Long, _
    ByVal a As Long, ByVal b As Long, ByVal c As Long) As Long
Declare PtrSafe Function KillTimer Lib "user32" _
    (ByVal hWnd As Long, ByVal a As Long) As Long
Dim MyTimer As Long, ds As Object, n
Sub sTimer()
    n = 1: MyTimer = SetTimer(0, 0, 1000, AddressOf sNow) '每秒执行一次
End Sub
Sub sNow(ByVal hWnd As Long, ByVal a As Long, ByVal b As Long, ByVal c As Long)
    If n = 1 Then clearAll Else KillTimer 0, MyTimer '执行程序clearAll
    DoEvents
End Sub
Sub nStop()
    n = 0 '停止执行程序
End Sub

TA的精华主题

TA的得分主题

发表于 2022-12-4 21:13 | 显示全部楼层
lss001 发表于 2020-3-19 14:11
Declare PtrSafe Function SetTimer Lib "user32" (ByVal hWnd As Long, _
    ByVal a As Long, ByVal b  ...

这个程序会死,我试了多次,但没找到原因。我已经有了新的程序,正在加你,那个东东哥就是我。

TA的精华主题

TA的得分主题

发表于 2023-1-1 18:09 | 显示全部楼层
lss001 发表于 2020-3-19 14:11
Declare PtrSafe Function SetTimer Lib "user32" (ByVal hWnd As Long, _
    ByVal a As Long, ByVal b  ...

《光速动画,为什么读取不了》,麻烦老师出手帮助,谢谢。
https://club.excelhome.net/thread-1650290-1-1.html

TA的精华主题

TA的得分主题

发表于 2023-2-23 10:15 | 显示全部楼层
lss001 发表于 2020-3-19 14:11
Declare PtrSafe Function SetTimer Lib "user32" (ByVal hWnd As Long, _
    ByVal a As Long, ByVal b  ...

老师,我有个2003经典菜单不会,Excel的做出来了,但是PowerPoint的做不出来,麻烦帮帮我,谢谢了。
https://club.excelhome.net/thread-1654181-1-1.html

TA的精华主题

TA的得分主题

发表于 2023-2-26 20:09 来自手机 | 显示全部楼层
dongdonggege 发表于 2023-2-23 10:15
老师,我有个2003经典菜单不会,Excel的做出来了,但是PowerPoint的做不出来,麻烦帮帮我,谢谢了。
htt ...

已经阅读回复请参考原帖

TA的精华主题

TA的得分主题

发表于 2023-2-26 20:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ppt用vba会更强大

TA的精华主题

TA的得分主题

发表于 2023-2-26 21:14 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-23 15:56 , Processed in 0.033847 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表