强制宏在一定时间后停止VBA

  • 本文关键字:VBA 定时间 excel vba
  • 更新时间 :
  • 英文 :


我有一个过程,我使用VBA进入一个网页,并在下午6点左右下载一个日常文件,虽然这个特定的文件可以在以后的任何时间上传。由于我需要为这个宏安排自动运行,因为并不总是我能够手动运行它(也不是其他人),我在想是否有一些方法可以在一段时间后停止宏执行。这是因为,在下载之后,它应该做一些其他的事情,而且下载需要一些时间,所以如果我输入

Dir(file)
Do While file = ""
Do events
' CODE TO EXIT LOOP AFTER SOME TIME
Loop

代码可能会卡住几个小时,因为网页上没有可用的文件,所以我希望循环在1分钟后中断。因此,也许我想捕获当前时间并添加我希望它运行的时间,然后在每个循环中比较当前时间与我设置为停止的时间,然后打破循环,但是,我不知道如何做时间部分。

任何帮助都将不胜感激

可能是应用程序。在线服务有帮助吗?

https://learn.microsoft.com/en-us/office/vba/api/excel.application.ontime

正如Ricardo Díaz所评论的那样,根据这个线程:VBA -定时器超过2分钟退出函数

这是作为解决方案的代码:

Dim startTime As Date
startTime = Now
Do
If DateDiff("s", startTime, Now) > 10 Then
MsgBox "There seems to be an issue. Please try again!"
Exit Do
End If
dostuff
Loop

最新更新