调用OLEDBConnection.Refreshing在循环防止连接刷新完成

我试图确定连接刷新何时完成。 我正在循环检查连接是否每5秒钟刷新一次。

只要它保持循环和检查,连接永远不会退出它的刷新状态。 即使它会显示“XXX Rows Loaded”,如果脚本停止,它立即结束。

Private Sub RefreshButton_Click() For Each objConnection In ThisWorkbook.Connections 'Refresh this connection objConnection.Refresh Dim endTime As Date Dim i As Integer i = 1 Do While objConnection.OLEDBConnection.Refreshing endTime = DateAdd("s", 5, Now()) Do While Now() < endTime DoEvents Loop i = i + 1 Me.RefreshButton.Caption = "Refreshing..." & i Loop Next MsgBox "Finished refreshing all data connections" 

我怎么能这样循环检查连接是否仍然清爽,没有阻止它完成?

编辑 :如果循环运行了一下,然后结束,连接立即完成后closuresMsgBox刷新,但从来没有,即使我永远循环与DoEvents。

看起来它不会刷新,直到VBA脚本完成执行?