在Excel VBA中存储连接名称-添加到连接文本

在Excel VBA中存储连接名称-添加到连接文本,vba,excel,Vba,Excel,我有一本工作簿,里面有几张工作表。 参数是在一张工作表上输入的,我正在创建一个宏,该宏接受这些参数,将它们添加到连接字符串中,然后更新每张工作表上的每个表 我已经让它为一个连接工作,但我正在努力找到一种方法来存储每个连接名,然后通过每个连接循环添加变量 这是我到目前为止的代码,其中一些被注释掉了。这就是我解决一个连接问题的方法。任何指导都将不胜感激 Sub Update() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Par

我有一本工作簿,里面有几张工作表。 参数是在一张工作表上输入的,我正在创建一个宏,该宏接受这些参数,将它们添加到连接字符串中,然后更新每张工作表上的每个表

我已经让它为一个连接工作,但我正在努力找到一种方法来存储每个连接名,然后通过每个连接循环添加变量

这是我到目前为止的代码,其中一些被注释掉了。这就是我解决一个连接问题的方法。任何指导都将不胜感激

Sub Update()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Parameters")

    Dim startdate As Date
    Dim enddate As Date

    startdate = Range("week_start_date").Value
    enddate = Range("week_end_date").Value
    MsgBox "Values are " & startdate & " and " & enddate

    Dim nm As ActiveWorkbook.Connections.name

    Dim conn As WorkbookConnection
        For Each conn In ActiveWorkbook.Connections
        .CommandText = "exec dbo.'" & name & "', @start = '" & startdate & "', @end = '" & enddate & "'  "


    'With ActiveWorkbook.Connections("ps_STS_Op_Summary_Approvals").OLEDBConnection
        '.CommandText = "exec dbo.ps_STS_Op_Summary_Approvals @start = '" & startdate & "', @end = '" & enddate & "'"

    End With
    'ActiveWorkbook.Connections("ps_STS_Op_Summary_Approvals").Refresh
    For Each wSht In ThisWorkbook.Worksheets
    For Each qt In wSht.QueryTables
    qt.Refresh
    Next
    Next
End Sub

查找存储在工作簿中的连接数,然后使用Active工作簿的.item(x)属性循环这些连接。连接:

cnt = ActiveWorkbook.Connections.Count

For i = cnt To 1 Step -1

    Set conn = ActiveWorkbook.Connections.Item(i)
    'Do stuff to conn

Next i

非常感谢,这是一个很大的帮助,可能是