使用VBA删除Power Query查询的自定义XML数据
我在Excel 2010文件中有Power Query查询,并希望使用VBA删除这些查询。 到目前为止,我可以通过以下步骤手动实现:
- 卸载Power Query插件
- 运行“文档检查器”,然后单击以删除自定义XML数据
macroslogging器为步骤2logging下面的代码。
Sub Makro1() ' ' Makro1 Makro ' ' ActiveWorkbook.RemoveDocumentInformation (xlRDIPrinterPath) ActiveWorkbook.RemoveDocumentInformation (xlRDIDocumentProperties) ActiveWorkbook.RemoveDocumentInformation (xlRDIInactiveDataConnections) End Sub
但是,使用这个macros我不会达到相同的结果(PQ查询代码从工作簿中消失)。
有关如何实现PQ查询代码使用VBA删除任何想法?
此代码将删除自定义部分,但您将具有电源查询连接,并可能在工作簿中保留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
对于Excel 2016预览,有新的VBA对象使我们能够以编程方式更好地处理PQ。 例如,查看Sub DeleteQuery(): https ://gallery.technet.microsoft.com/office/VBA-to-automate-Power-956a52d1
但是对于我们这些坚持使用Office 2010的人来说,这似乎还不可能。