1

我在 Excel 2010 文件中有 Power Query 查询,并希望使用 VBA 删除这些查询。到目前为止,我可以通过以下步骤手动实现:

  1. 卸载 Power Query 插件
  2. 运行 Document Inspector 并单击以删除自定义 XML 数据

宏记录器为步骤 2 记录以下代码。

Sub Makro1()
'
' Makro1 Makro
'
'
ActiveWorkbook.RemoveDocumentInformation (xlRDIPrinterPath)
ActiveWorkbook.RemoveDocumentInformation (xlRDIDocumentProperties)
ActiveWorkbook.RemoveDocumentInformation (xlRDIInactiveDataConnections)
End Sub

但是,使用这个宏我没有得到相同的结果(=工作簿中的 PQ 查询代码)。

关于如何使用 VBA 实现要删除的 PQ 查询代码的任何想法?

4

2 回答 2

0

此代码将删除自定义部分,但您的工作簿中将保留 Power Query 连接,可能还有 TableObjects 和 DataModels。尝试刷新会给你错误。

Sub DeletePowerQueryCustomXml()
  Set parts = ActiveWorkbook.CustomXMLParts.SelectByNamespace("http://schemas.microsoft.com/DataMashup")
  For Each part In parts
    part.Delete
  Next part
End Sub
于 2015-04-09T17:30:20.387 回答
0

对于 Excel 2016 预览版,有新的 VBA 对象使我们能够以编程方式更好地处理 PQ。例如,查看 Sub DeleteQuery(): https ://gallery.technet.microsoft.com/office/VBA-to-automate-Power-956a52d1

但是对于我们这些坚持使用 Office 2010 的人来说,这似乎还不可能。

于 2015-06-08T09:27:13.160 回答