如何删除此工作簿中未使用的QueryTable连接?

时间:2015-06-10 03:54:44

标签: excel vba excel-vba

我只打开了这个工作簿(当时没有打开其他工作簿),并注意到列出了一堆数据连接。经过进一步调查,它表明这些连接不是“在这个工作簿中使用”(再次,奇怪的是我只打开这个工作簿,所以如果这里没有使用连接,它们还用在哪里呢?)

Screenshot from Excel 2010

使用以下代码,它显示此工作簿中的所有工作表中的QueryTables.Count都是0。那么有没有一种方法可以以编程方式(VBA,而不是C#)来删除连接?真的很讨厌单独和手动删除连接

Dim Worksheet As Object
For Each Worksheet In ThisWorkbook.Worksheets
    Debug.Print (Worksheet.QueryTables.Count)
Next

1 个答案:

答案 0 :(得分:2)

也许

Sub deleteConnections()
Dim conn As WorkbookConnection
For Each conn In ActiveWorkbook.Connections
    conn.Delete
Next conn
End Sub

删除了一堆在我的工作簿中实际处于活动状态的连接。对于未使用的连接也应该这样做。