我在Excel 2010文件中有Power Query查询,并希望使用VBA删除这些查询。到目前为止,我可以通过以下步骤手动实现:
宏录制器记录步骤2的以下代码。
Sub Makro1()
'
' Makro1 Makro
'
'
ActiveWorkbook.RemoveDocumentInformation (xlRDIPrinterPath)
ActiveWorkbook.RemoveDocumentInformation (xlRDIDocumentProperties)
ActiveWorkbook.RemoveDocumentInformation (xlRDIInactiveDataConnections)
End Sub
但是,使用此宏我没有达到相同的结果(=从工作簿中删除PQ查询代码)。
有关如何使用VBA删除PQ查询代码的任何想法?
答案 0 :(得分:0)
此代码将删除自定义部件,但您将在工作簿中保留Power Query连接,可能还有TableObjects和DataModel。尝试刷新会给你带来错误。
Sub DeletePowerQueryCustomXml()
Set parts = ActiveWorkbook.CustomXMLParts.SelectByNamespace("http://schemas.microsoft.com/DataMashup")
For Each part In parts
part.Delete
Next part
End Sub
答案 1 :(得分:0)
对于Excel 2016预览,有新的VBA对象使我们能够以编程方式更好地处理PQ。例如。查看Sub DeleteQuery(): https://gallery.technet.microsoft.com/office/VBA-to-automate-Power-956a52d1
然而,对于那些坚持使用Office 2010的人来说,这似乎还不可能。