当前位置: 首页 > web >正文

VBA经典应用69例应用8:利用VBA,预设某个程序在晚上21点运行

《VBA经典应用69例》(版权10178981),是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容:VBA经典应用69例应用8:利用VBA,预设某个程序在晚上21点运行

分享成果,随喜正能量】167 引擎利用后退的力量,引发更大的动能;空气经过压缩,更具爆破的威力。所谓"退一步想,海阔天空。"正可点破我们迷妄执着的盲点。

应用8 利用VBA,完成自动运行任务的预设

这一专题,我们讲解利用VBA来预设某个任务自动运行。这讲的内容在VBA中也是比较有用的,可以完成诸如动画的效果,以及各种自己期望的任务在某个时间自动运行。我们主要是利用Application.OnTime来完成这种设置。

OnTime与Application.Wait方法非常相似,使用这两种方法,可以设计在特定时间运行某项任务(过程)。OnTime和Wait的一个主要区别是,对于Wait方法,Excel的操作将被挂起,但OnTime不会冻结你的计算机。运行OnTime语句后,可以继续使用Excel工作簿。

3 预设某个程序在晚上21点运行

在上面的例子中我们预设的是某个程序在现在之后的某个时间后执行,那么如何预设某个过程在某个时刻运行呢?我们看下面的代码,这段代码是预设一个程序在晚上"20:45:00"点执行。代码如下:

Sub mynzB()

Application.OnTime TimeValue("20:45:00"), "mynz_1"

End Sub

Sub mynz_1()

MsgBox "现在的时间是20:45:00!"

End Sub

代码的截图

代码的讲解:Application.OnTime TimeValue("20:45:00"), "mynz_1" 是设置某个过程的运行时间为"20:45:00",是哪个过程呢?是"mynz_1"过程。

下面看代码的运行结果:

我们再来看一下用Application.Wait写的代码:

Application.Wait "20:45:00"

mynz_1

  • 如果用这个代码,运行后和Application.OnTime的代码有什么不同呢?请学员思考一下。

4 安排一个宏在第二天某个时间运行

下面我们讲解如何利用Application.OnTime预设某个宏在第二天运行,例如,我们可以安排一个宏在午夜后启动。我们首先定义时间,先设置为午夜,然后添加小时和分钟。

下面看我给出代码,是设置一个过程在第二天凌晨2时运行。

Sub mynzC()

Dim startTime

'这是午夜时间午夜0:00:00

startTime = DateSerial(Year(Now), Month(Now), Day(Now) + 1)

'加上小时变成设置的时间

startTime = startTime + TimeValue("00:02:00")

MsgBox startTime

Application.OnTime startTime, "mynz_2"

End Sub

Sub mynz_2()

MsgBox "现在的时间是" & Now

End Sub

代码截图:

代码讲解:上述代码中 startTime = DateSerial(Year(Now), Month(Now), Day(Now) + 1)是首先设置午夜的时间,然后用startTime = startTime + TimeValue("00:02:00")再加上两个小时即可。

代码的运行:这里我仅在代码运行测试中弹出一个EarliestTime参数的值,如下:

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:



http://www.xdnf.cn/news/12976.html

相关文章:

  • 浮点数精度问题(CSP38思考)
  • (新)Gateway网关+基于Nacos配置动态路由
  • 【Ftrace专栏】function graph的trace输出格式使用
  • NumPy数组属性
  • 《最短路(Floyd)》题集
  • Qwen3开源最新Embedding模型
  • Cesium快速入门到精通系列教程八:时间系统
  • 【术语扫盲】评估指标Precision、Recall、F1-score、Support是什么含义?
  • 论文解析:一文弄懂Transformer!
  • Visio粘贴Word公式技巧
  • 深究二分查找算法:从普通到进阶
  • AI书签管理工具开发全记录(十六):Sun-Panel接口分析
  • Java中线程的常用方法
  • 6月8日python-AI代码
  • RPG23.应用武器伤害(一):设置武器命中
  • AD学习(2)
  • 深入理解链接与加载:从静态库到动态库的全流程解析
  • OD 算法题 B卷【反转每对括号间的子串】
  • Java设计模式面试题详解
  • 第十二讲 | 二叉搜索树
  • 庖丁解java(一篇文章学java)
  • 风控系统中常用的概念和架构学习
  • golang循环变量捕获问题​​
  • Ⅱ.楔子 -- C♭和 cbc
  • 经典算法:排序链表
  • DQN算法(详细注释版)
  • 开源项目实战学习之YOLO11:12.7 ultralytics-models-transformer.py
  • SpringMVC简介
  • 【GPT模型训练】第一课:安装PyTorch环境
  • PandasAI使用