首页 > 其他分享 >vba 定时器

vba 定时器

时间:2023-05-23 09:35:25浏览次数:33  
标签:vba 定时器 End Sub 17 Show 00 msg

vba代码中,可以设置定时器。方法是 application.ontime ,具体函数如下:

expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)

这个函数是用来安排一个过程在将来的特定时间运行,(可为某个日期的指定时间,也可为指定的时间段之后)。通过这个函数我们就可以在 Excel 里编写自己的定时程序了。

 

如下例子,执行过程 Run_it 后,将在指定时间  17:00:00 执行 Show_my_msg 

Sub Run_it()
  Application.OnTime TimeValue("17:00:00"), "Show_my_msg"
  '设置定时器在 17:00:00 激活,激活后运行 Show_my_msg 。
End Sub

Sub Show_my_msg()
  msg = MsgBox("现在是 17:00:00 !", vbInformation, "自定义信息")
End Sub

 

如下例子执行过程 auto_open 后,将在当前时间过 5 秒钟开始运行 Saveit 这个过程

Sub auto_open()
  MsgBox "欢迎你,在这篇文档里,每 5 秒出现一次保存的提示!", vbInformation, "请注意!"
  Call runtimer '打开文档时自动运行
End Sub

Sub runtimer()
  Application.OnTime Now + TimeValue("00:00:05"), "saveit"
  ' Now + TimeValue("00:15:00") 指定在当前时间过 5 秒钟开始运行 Saveit 这个过程。
End Sub


Sub SaveIt()
  msg = MsgBox("朋友,你已经工作很久了,现在就存盘吗?" & Chr(13) & "选择是:立刻存盘" & Chr(13) & "选择否:暂不存盘" & Chr(13) & "选择取消:不再出现这个提示", vbYesNoCancel + 64, "休息一会吧!")

  '提示用户保存当前活动文档。
  If msg = vbYes Then ActiveWorkbook.Save Else If msg = vbCancel Then Exit Sub
  Call runtimer '如果用户没有选择取消就再次调用 Runtimer
End Sub

  

 

标签:vba,定时器,End,Sub,17,Show,00,msg
From: https://www.cnblogs.com/shizunatsu/p/17422333.html

相关文章

  • jmeter性能测试-定时器
    1.固定定时器:ConstantTimer官方介绍功能:通过该定时器,可以对每一个线程延迟固定的时间。个人实践:如果想通过该定时器来控制吞吐量来达到想要的TPS不是很可靠。2.同步定时器:SynchronizingTimer官方介绍功能:通过该定时器,可以在某一逻辑点模拟创建大负载量进行测试。原理:......
  • [learn from chatGPT] [vba] 如何使用 Collection 或 Dictionary 对象来代替数组
    在VBA中,`Collection`和`Dictionary`对象可以用来代替数组。它们的主要优点是可以动态地添加、删除和查找元素,而无需调整数组大小。下面是一个简单的例子:```SubUseCollection()DimmyCollectionAsNewCollection'添加元素到Collection中myCollection.Add......
  • TypeScript中的定时器
    在ts中使用setInterval()和setTimeout()时,如果把特们的返回值定义成number类型,那么ts会警告你不能将类型“Timeout”分配给类型“number”或你不能将类型“Timer”分配给类型“number”原因setInterval()和setTimeout()使用的是Node.js下的接口定义,而在ts中,window下......
  • 【React】定时器组件
    鼠标移入关闭定时器并清除,鼠标移出组件的时候打开定时器进行循环consttimer=useRef(null);useEffect(()=>{startLoop();},[]);conststartLoop=()=>{stopLoop();timer.current=window.setInterval(()=>{//要干的事},60*......
  • 【Java】定时器CronExpression参数规则
    参考:定时器CronExpression配置说明详解-心和梦的方向-博客园(cnblogs.com) 项目中经常要使用到定时器,其中CronExpression配置非常重要。现在就配置说明详细解说一下:CronExpression表达式是由6个必需字段(秒、分、时、日、月、周)和一个可选字段(年)通过空格组成。cronExpres......
  • 定时器概述
    定时器详解引出定时器是一个比较常见的数据结构,或者说框架,以一个最简单的例子引出,在游戏中,冷却时间使用的就是定时器;所以说定时器是等待时间过期执行对应时间事件处理(回调函数)的一个框架;补充:下文中可能会出现定时任务,它和时间事件基本上是一个东西那么现在有一个就有一......
  • uniapp定时器的使用
    //uniapp中的具体用法:我这里使用到了setIntervaldata(){ return{ timer:null//定时器名称 }; },//一般在页面需要的地方使用,这里我是放在了onshow()里onShow(){ //console.log('onshow'); this.timer=setInterval(function(){ //放入你自己的业务逻辑代码 },3000......
  • VBA之股票信息
    SubmyNZA()'利用IE,抓取深市股票涨跌数据Sheets("SHEET2").SelectDimIE,IEDOMAsObjectDimmyTable,myTRAsObjectSetIE=CreateObject("InternetExplorer.Application")WithIE.Visible=False.navigate"http://q.stock.sohu.com......
  • citect使用CitectVBA脚本获取本机IP地址
    这是我在新浪写过的一个笔记,在这里也记录一遍。新浪博客地址citect使用CitectVBA脚本获取本机IP地址_来自金沙江的小鱼_新浪博客(sina.com.cn)最近现场计算机上需要获取IP地址来做一些功能,简单得查询了一下网络,还是很好实现的。新建一个citectVBA函数FunctionGetIPAddress()......
  • 【VBA】如何在Word表格里插入特殊符号
    Word里有插入特殊符号的功能,如下图。通过编程语言实现在Word表格插入特殊符号操作,可以参考下面VBA代码。ActiveDocument.Tables(1).Range.Cells(2).SelectSelection.MoveEndUnit:=wdCharacter,Count:=-1Selection.InsertSymbolFont:="Wingdings",_CharacterNumber:=-38......