【问题标题】:Force a macro to stop after certain time VBA强制宏在特定时间 VBA 后停止
【发布时间】:2021-01-19 01:53:06
【问题描述】:

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

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

由于网页上没有可用的文件,代码可能会停滞数小时,所以我希望该循环在 1 分钟后中断。所以也许我想捕捉当前时间并添加我希望它运行的时间,然后在每个循环上将当前时间与我设置停止的时间进行比较,然后打破循环,但是,我不明白如何做时间部分。

任何帮助将不胜感激

【问题讨论】:

标签: excel vba


【解决方案1】:

【讨论】:

    【解决方案2】:

    正如 Ricardo Díaz 所评论的,根据这个帖子: VBA - Exit Function if a timer passes 2 minutes

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

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多