我正在尝试确定连接刷新何时完成。我正在循环并检查连接是否仍然每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"
如何像这样循环以检查连接是否仍在刷新,而不会阻止它完成?
编辑:如果循环运行了一点然后结束,那么在我关闭MsgBox之后连接立即完成刷新,但从来没有,即使我永远循环使用`DoEvents。
在VBA脚本执行完毕之前看起来还没有完成刷新?