excel 用于工作簿查询的语法,删除

ippsafx7  于 2023-01-27  发布在  其他
关注(0)|答案(2)|浏览(112)

微软网站在下面的网站上介绍了这个命令。它说参数True可以使用。但是没有语法示例。
在下面的示例中,我可以在哪里添加deleteconnection true参数

Dim qwry As WorkbookQuery
For Each qwry in Active.Workbook.Queries
qwry.delete
Next

https://learn.microsoft.com/en-us/office/vba/api/excel.workbookquery.delete#return-value
获取编译错误

aiazj4mn

aiazj4mn1#

不太确定,但这个旧代码应该可以工作

Sub DeleteEm()
Dim wc As WorkbookConnection
Dim wq As WorkbookQuery
On Error Resume Next
For Each wc In ThisWorkbook.Connections
    wc.Delete
Next
For Each wq In ThisWorkbook.Queries
    wq.Delete
Next
End Sub
pepwfjgg

pepwfjgg2#

出现编译错误很可能是因为键入了Active.Workbook而不是ActiveWorkbook(也可以使用ThisWorkbook)。
现在,对于 DeleteConnection 参数,您可以像调用任何其他sub一样简单地进行调用:

Dim qwry As WorkbookQuery
For Each qwry in ActiveWorkbook.Queries
qwry.Delete True
Next

请注意,在多个参数为可选的情况下,让VBA知道您正在为哪个参数设置值而不是依赖它们在Sub调用中的顺序可能会很有用。在您的示例中,这将是:

Dim qwry As WorkbookQuery
For Each qwry in ActiveWorkbook.Queries
qwry.Delete DeleteConnection:=True
Next

相关问题