在Excel 2016 VBA,我爽快几个查询是这样的:如何检查刷新连接是否成功
MyWorkbook.Connections(MyConnectionName).Refresh
代码后完成,并没有遇到任何错误,我看到沙漏图标因为大部分查询仍在旋转几秒钟。
是否可以在所有刷新完成后检查成功?我担心我的代码不会知道在代码完成后但在查询完成刷新之前是否发生错误。
顺便说一句我不想做一个RefreshAll,因为一些查询依赖于其他人(使用它们作为源)。我按照一定的顺序刷新它们,以便依赖查询在它们依赖的查询后刷新。
UPDATE:
我看到,连接对象有一个只读RefreshDate特性,乍一看看起来像它可以用来做此项检查:
MyWorkbook.Connections(MyConnectionName).OLEDBConnection.RefreshDate
但是,它不似乎没有成立。试图检查它时出现错误。如果我为该RefreshDate属性设置了Variant变量,则该变量显示为“Empty”。源是一个SQL服务器数据库。
谢谢,这很好。我有一个查询只是连接,所以我不得不将它加载到一个表,以便它有一个ListObject,因此一个查询表。这增加了一点点的文件大小,但这是一个很小的代价来付诸实施。 –