【发布时间】:2012-02-14 01:46:03
【问题描述】:
我正在创建一些代码,我可以在其中单击一个按钮,它会刷新我在该工作表上的查询表。
现在,我的问题是,我在更新后有更多代码复制了一些信息,但这段代码在刷新开始后立即运行并且信息尚未被替换。
我想为刷新完成创建一个等待期,然后其余代码可以继续。
我不想只等待 5 秒,而是等待刷新时间,这样我就不会等待太久或太短,具体取决于互联网速度等。
我该怎么做?
编辑:
简单代码:
ActiveWorkbook.RefreshAll
这里我需要延迟或等待代码,直到所有刷新完成...然后
MsgBox("The Refreshing is Completed!")
那个方向的东西。但它不能说 msgbox 在它实际完成之前......有时取决于互联网速度,刷新需要更短或更长时间,所以我希望它是实际刷新时间的变量。
【问题讨论】:
-
您是否使用
querytable.refresh false指定非后台刷新? -
到目前为止只有 ActiveWorkbook.RefreshAll 但我需要一个循环来检查何时完成刷新。这就是我的想象
-
您可以通过单独刷新它们来做到这一点'
for i=1 to ActiveWorkbook.querytables.count : ActiveWorkbook.querytables(i).refresh false : next -
遗憾的是它不允许在刷新时等待一段时间
-
啊,查看文档似乎仅适用于基于 sql 源的查询表,您是否使用 Web 查询代替?