EXCEL的VBA中“ontime”如何使用,语法怎样,我是初学者,请高手尽量说详细

 我来答
wu302791539
2011-12-12 · TA获得超过709个赞
知道小有建树答主
回答量:391
采纳率:0%
帮助的人:209万
展开全部
Application.OnTime 方法
安排一个过程在将来的特定时间运行(既可以是具体指定的某个时间,也可以是指定的一段时间之后)。
语法

表达式.OnTime(EarliestTime, Procedure, LatestTime, Schedule)

表达式 一个代表 Application 对象的变量。

参数

名称 必选/可选 数据类型 描述
EarliestTime 必选 Variant 希望此过程运行的时间。
Procedure 必选 String 要运行的过程名。
LatestTime 可选 Variant 过程开始运行的最晚时间。例如,如果 LatestTime 参数设置为 EarliestTime + 30,且当到达 EarliestTime 时间时,由于其他过程处于运行状态而导致 Microsoft Excel 不能处于“就绪”、“复制”、“剪切”或“查找”模式,则 Microsoft Excel 将等待 30 秒让第一个过程先完成。如果 Microsoft Excel 不能在 30 秒内回到“就绪”模式,则不运行此过程。如果省略该参数,Microsoft Excel 将一直等待到可以运行该过程为止。
Schedule 可选 Variant 如果为 True,则预定一个新的 OnTime 过程。如果为 False,则清除先前设置的过程。默认值为 True。

说明

使用 Now + TimeValue(time) 可安排经过一段时间(从现在开始计时)之后运行某个过程。使用 TimeValue(time) 可安排某个过程只运行指定的时间。

示例

本示例设置从现在开始 15 秒后运行 my_Procedure。

Visual Basic for Applications
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"

本示例设置 my_Procedure 在下午 5 点开始运行。

Visual Basic for Applications
Application.OnTime TimeValue("17:00:00"), "my_Procedure"

本示例撤消前一个示例对 OnTime 的设置。

Visual Basic for Applications
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="my_Procedure", Schedule:=False

其实像这种EXCEL VBA内置函数,你可以打开帮助查找F1
更多追问追答
追问
非常感谢你的回答,另外想再请教一下,我期望程序运行到中间暂停,让我在EXCEL上做一些事情,做这个事情需要3至28分钟,那么我在代码中间可加入   Application.OnTime Now + TimeValue("00:30:00"), "my_Procedure"     这样程序就会等我30分钟,但如果我用3分钟(这个时间可以变化)已经做完事情需要立即运行my_Procedure,该如何设计代码?或使用什么控件?
追答
如果这样的话,用这个函数就不太方便了
你是在调试程序吗,还是要做什么,如果是调试程序,你可以程序运行后按ESC,选择调试就可以了,接着在EXCEL里做些事(这时EXCEL会锁定工作表,所以要先激活你要操作的EXCEL工作页),做完后继续运行再按F5就可以了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式