替换 Excel 连接字符串中的值

Replace Value in Excel Connection string

任何人都可以建议一个 VBA 程序来替换 Excel SQl 服务器 OLEDB 连接字符串的元素吗?

我试过下面的代码,但我认为这与 dbconnection 变量的数据类型有关。

Sub ModifyConnection()
    Dim ComHostname As String
    ComHostname = Environ$("computername")
    Call MsgBox(ComHostname)
    Dim dbconnection As String
    dbconnection = ActiveWorkbook.Connections("ConnectionName").OLEDBConnection.connection
    dbconnection = Replace(dbconnection, "___BTN_____\", ComHostname & "\")
    Set ActiveWorkbook.Connections("ConnectionName").OLEDBConnection.connection = dbconnection
 End Sub

该代码试图用当前计算机的主机名替换连接字符串中的计算机主机名实例。

它抛出错误 424 - 需要对象。

原来是连接名错误的简单案例。操作代码如下:

Sub ModifyConnection()
    Dim ComHostname As String
    ComHostname = Environ$("computername")
    Call MsgBox(ComHostname)
    Dim dbconnection As String
    dbconnection =     ActiveWorkbook.Connections("ConnectionName").OLEDBConnection.connection
    dbconnection = Replace(dbconnection, "???BTN?????\", ComHostname & "\")
    ActiveWorkbook.Connections("ConnectionName").OLEDBConnection.connection = dbconnection
End Sub