【发布时间】:2020-06-02 16:44:16
【问题描述】:
我有这个宏可以成功打开工作簿并刷新其中的每个 Power Query 连接。如果我手动单击“全部刷新”,整个过程需要 3 - 5 分钟。但如果我运行宏,则最多需要一个小时才能完成该过程。
我曾尝试使用Application.ScreenUpdating = False,但没有任何影响。有什么方法可以加快刷新速度?
Dim fname As String
Dim owb As Workbook
Dim Cname As String
Dim objConnection As WorkbookConnection, bBackground As Boolean
fname = "PowerQuery04-CSVMultipleFileImport.xlsx"
Set owb = Application.Workbooks.Open(fpath & "\" & fname)
For Each objConnection In ActiveWorkbook.Connections
If Left(objConnection.Name, 8) = "Query - " Then
Cname = objConnection.Name
With ActiveWorkbook.Connections(Cname).OLEDBConnection
.BackgroundQuery = False 'or true, up to you
.Refresh
End With
End If
Next
'owb.RefreshAll
Application.Wait (Now + TimeValue("0:02:00"))
Application.DisplayAlerts = False
owb.Save
owb.Close
Application.DisplayAlerts = True
【问题讨论】:
-
.BackgroundQuery = True怎么样? -
那也很慢!
标签: excel vba powerquery