我的excel Web API查询连接有一个非常奇怪的问题。假设可以从API下载文件,并且效果很好。但是,只有当我单击“下载”按钮时,才应该这样做。我为此按钮创建了一个简单的vba进行刷新:
Public Sub CommandButton2_Click()
Application.DisplayAlerts = False
ThisWorkbook.Queries.FastCombine = True
ThisWorkbook.Connections("Query - Test").Refresh
End Sub
我还有一个不同的按钮来刷新工作簿中的所有其他查询。它具有完全相同的vba代码,但当然具有不同的查询名称,并且不包括我上面提到的那个。
现在,当我打开excel文件并单击一个按钮以刷新所有其他查询时,查询“ Query-Test”将不会刷新并且可以。但是,当查询完成刷新后,尽管查询没有刷新,我仍然会弹出一个窗口下载此文件!使它更加奇怪的是,只有在我第一次单击刷新按钮时,它才会发生。除非我再次关闭并打开excel文件,否则它不会再执行此操作。
我在模块中放置了以下vba代码以禁用任何可能的刷新:
Public Sub disableAutoRefreshConnection()
Dim cnn As WorkbookConnection
For Each cnn In ActiveWorkbook.Connections
With cnn.OLEDBConnection
.BackgroundQuery = False
If .Refreshing Then .CancelRefresh
.EnableRefresh = False
.RefreshOnFileOpen = False
.RefreshPeriod = 0
End With
Next
End Sub
...但是当我第一次刷新其他连接时,仍然会出现下载弹出窗口...有什么办法可以防止这种情况发生?
亚历克斯