我正在寻找在Excel VBA中使用计时器来中断Web查询的方法。 这是场景。 我有一本工作簿,用户可以在其中滚动浏览一份工作清单,然后,他们在后台运行一个Web查询,以检查与该工作相关的一些信息。通常只需不到一秒钟的时间即可获取并显示数据。 检索到的数据并不是很关键,因此,在工作时,它很好,如果不是,也没什么大不了的。 重要的是,有时网页本身就有问题,并且子程序必须等到网页将其踢出后才能继续。 我的问题是,调用我的查询代码之前或之后的任何计时器(如下)都无法完成任何工作。 有没有一种方法可以编写这种代码,如果我的查询代码花费的时间超过1秒,请杀死该代码并继续前进。
示例:如果下面的代码未在1秒钟内完成,请退出此子页面。
Sub DoQuery()
With Selection.QueryTable
.Connection = URLString
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.Refresh BackgroundQuery:=False
End With
End Sub