Excel VBA代码用于刷新Power Query,其中可见查询和连接栏未按预期工作

jxct1oxe  于 2023-05-30  发布在  其他
关注(0)|答案(1)|浏览(263)

我试图刷新一个不同的Excel文件中的查询。这是我的代码:

If Sheets("Dashboard").Cells(2, 20) = True Then
        Set wb1 = Workbooks.Open("C:\test.xlsm")
        wb1.Application.ScreenUpdating = True
        wb1.Application.CommandBars("Queries and Connections").Visible = True
        wb1.Application.CommandBars("Queries and Connections").Width = 300
        wb1.Sheets("table1").ListObjects(1).QueryTable.Refresh BackgroundQuery:=False
        wb1.Save
        wb1.Close
End If

代码按预期工作,并在关闭文件之前更新查询并正确保存它。要查看发生了什么,我想查看查询和连接栏。如果我逐步运行代码,一切都正常。如果我一次运行整个代码,查询工作,但它不显示连接栏。使用Application.Screenupdating=True也没有什么区别。
我错过了什么?

ndh0cuux

ndh0cuux1#

仅仅设置.Width似乎还不够。不过,您可以通过重置.Position来强制它绘制命令栏。

If Sheets("Dashboard").Cells(2, 20) = True Then
        Set wb1 = Workbooks.Open("C:\test.xlsm")
        With wb1
            Application.ScreenUpdating = True
            With .Application.CommandBars("Queries and Connections")
                .Visible = True
                .Position = .Position
                .Width = 300
            End With
            .Sheets("table1").ListObjects(1).QueryTable.Refresh BackgroundQuery:=False
            .Save
            .Close
        End With
End If

相关问题