查找使用连接的位置Excel VBA

Kyl*_*orf 3 connection excel vba connection-string excel-vba

我有一堆Excel 2013工作簿,我必须对其进行完善,每个工作簿都有多个工作表和多个数据连接,我正在寻找一种列出的快速方法:

  • 连接名称
  • 连接字符串
  • 使用连接的位置(工作表名称或范围会很有用)

我可以在连接对话框中看到所有这些信息,但是无法以编程方式跟踪它们。我想一次创建一个文件,所以不必担心在所有文件上运行代码,而只是在我开始处理相关文件时可以将其放入模块中。到目前为止,我已经在此站点上找到了:

Dim conn As WorkbookConnection
For Each conn In ActiveWorkbook.Connections
Debug.Print conn.Name
Next conn
Run Code Online (Sandbox Code Playgroud)

但我找不到与此相关的位置信息。任何指针将不胜感激。

干杯

凯尔

R3u*_*3uK 5

预期产量:

(Connection's Name): Sheet'sName|1st Cell of Range
Connection's ODBC Command Text
(Connection's Name): Sheet'sName|1st Cell of 1st Range // Sheet'sName|1st Cell of 2nd Range
Run Code Online (Sandbox Code Playgroud)

干得好 :

Private Sub List_Connections_Ranges()

Dim wC As WorkbookConnection
Dim rG As Range
Dim TpStr As String

For Each wC In ActiveWorkbook.Connections
    TpStr = "(" & wC.Name & ") found on : "
    For Each rG In wC.Ranges
        TpStr = TpStr & rG.Parent.Name & "|" & rG.Cells(1, 1).Address(0, 0) & " // "
    Next rG
    Debug.Print Left(TpStr, Len(TpStr) - 4)
    Debug.Print wC.ODBCConnection.CommandText
Next wC

End Sub
Run Code Online (Sandbox Code Playgroud)