[英]How to refresh Power Query using VBA?
我在 Power Query 中创建了一个查询。 我需要做的是刷新 PQ 并在运行宏时保存工作簿。 我尝试使用各种宏来做到这一点,但它们都没有刷新查询。 我在其他工作簿中使用此宏 - 它在给定工作簿的情况下打开,“刷新”它(但实际上并没有,因为它持续时间太短)并关闭。 有趣的是,当我在 Excel 功能区上运行“全部刷新”时,PQ 会刷新(所有连接和查询)。 但是,当我使用ActiveWorkbook.RefreshAll
时,它根本不会刷新 PQ。
下面是我的宏,有很多刷新PQ的方法:
Sub RefreshQuery()
Application.DisplayAlerts = False
File = "C:\Users\User1\Desktop\MyFile.xlsx"
Set MyWorkBook = Workbooks.Open(File)
ActiveWorkbook.Queries.FastCombine = True 'ignores privacy levels on all computers
'Refresh option #1
ActiveWorkbook.RefreshAll
'Refresh option #2
For Each cn In ActiveWorkbook.Connections
cn.Refresh
Next cn
'Refresh option #3
ActiveWorkbook.Connections("GetStatData").Refresh
'Refresh option #4
ActiveWorkbook.Connections("Query - GetStatData").Refresh
'Refresh option #5
ActiveWorkbook.Query("GetStatData").Refresh
ActiveWorkbook.Save
Application.Wait (Now + TimeValue("00:00:03"))
ActiveWindow.Close
End Sub
我已使用以下内容刷新 PowerQuery 表:
ActiveWorkbook.Worksheets("<yourworksheetname>").ListObjects("<yourtablename>") _
.QueryTable.Refresh BackgroundQuery:=False
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.