如果您需要更改查詢的連接字符串,該宏將更改它在活動工作簿中的所有查詢(您不必將代碼存儲在要更改的工作簿中)。
我包含兩個示例連接字符串 - 一個提供dsn,一個提供服務器/數據庫。如果您的DSN在創建新查詢時正常,請先嚐試DSN。如果使用那個,請調整SQL Server版本。
另外,一個具有標準安全性(uid,pwd),另一個使用基於Windows的安全性(可信連接)。根據需要混合並匹配。
Sub ChangeAddress()
Dim qt As QueryTable
Dim wks As Worksheet
Const strNEW_CONN_DSN As String = "ODBC;DSN=MyDSN;Description=MyDescription;UID=myid;PWD=mypwd;"
Const strNEW_CONN_SQL as String = "Driver={SQL Server Native Client 10.0};Server=myServerAddress;Database=myDB;Trusted_Connection=yes;"
For Each wks In ActiveWorkbook.Worksheets
For Each qt In wks.QueryTables
qt.Connection = strNEW_CONN_DSN
Next qt
Next wks
End Sub
這工作,thx很多! – Andrew 2009-10-19 18:29:01
該問題指定Excel 2003,但對於任何使用Excel 2007的用戶,此代碼不起作用。在2007年,您必須更改ActiveWorkbook.Connections.ODBCConnection.Connection – dendarii 2009-10-21 08:18:23