gpt4 book ai didi

excel - 通过 VBA 自动更新 Power Query 连接

转载 作者:行者123 更新时间:2023-12-02 03:28:47 26 4
gpt4 key购买 nike

我在 myexcel.xlsx 中设置了 Power Query。我将其连接的属性设置为 thisthis .

我编写了如下VBA代码

Sub UpdateData()
Dim filename As String
Dim wbResults As Workbook
filename = "C:\myexcel.xlsx"
Set wbResults = Workbooks.Open(filename)

ActiveWorkbook.RefreshAll
wbResults.Close savechanges:=True

End Sub

当我手动打开 myexcel.xslx 时,Power Query 连接会更新。但通过 VBA 代码则不然。我应该补充一点,我使用老式的 Excel 连接对此进行了测试,并且它通过 VBA 代码运行良好。但问题出在 Power Query 连接上。有什么想法吗?

最佳答案

这实际上相当简单,如果你检查现有的连接,你可以看到电源查询连接名称是如何开始的,它们都是一样的,都是以“Query - ”开头,然后是名称。 ..在我的项目中,我编写了这段有效的代码:

Sub RefreshQuery()
Dim con As WorkbookConnection
Dim Cname As String

For Each con In ActiveWorkbook.Connections
If Left(con.name, 8) = "Query - " Then
Cname = con.name
With ActiveWorkbook.Connections(Cname).OLEDBConnection
.BackgroundQuery = False 'or true, up to you
.Refresh
End With
End If
Next
End Sub

这将刷新您所有的高级查询,但在代码中您可以看到它说:

If Left(con.name, 8) = "Query - " Then

这仅意味着如果连接名称,从左开始向右移动的前 8 个字符(前 8 个字符)等于字符串“Query - ”,则...

  • 如果您知道查询的名称,请将 8 调整为一个数字,该数字将指示您的查询名称中的字符数,然后使该语句等于您的查询连接名称,而不是所有权限的开头查询连接(“查询 - ”)...

如果您有大量的高级查询,我建议不要立即更新所有高级查询。您的计算机可能会崩溃,并且您的 Excel 可能没有自动保存。

快乐编码:)

关于excel - 通过 VBA 自动更新 Power Query 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36902975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com