即使vba代码被阻止,查询仍保持“刷新”状态

时间:2020-06-25 07:58:46

标签: excel vba powerquery

我的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

...但是当我第一次刷新其他连接时,仍然会出现下载弹出窗口...有什么办法可以防止这种情况发生?

亚历克斯

0 个答案:

没有答案