我有一個當前正在查詢Excel文件的ODBC鏈接。我現在想要做的是通過工作簿中的每個ODBC連接並更新連接字符串,以便使用不同的路徑來查找同名的另一個.xls文件。通過VBA更新ODBC上的excel鏈接路徑
換言之,當前連接字符串作爲我看到它在Excel(數據>連接>連接> 1stConn屬性>定義標籤>連接字符串)如下:
DSN=Excel Files;DBQ=C:\TEST\CurrentQuarter.xls;DefaultDir=C:\TEST;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;
和我希望改變它:
DSN=Excel Files;DBQ=C:\OTHERTEST\CurrentQuarter.xls;DefaultDir=C:\OTHERTEST;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;
我曾嘗試這樣的代碼:
Sub SwitchODBCSource()
Dim conn As WorkbookConnection
For Each conn In ActiveWorkbook.Connections
With conn
'I have tried without succes the following 2 properties, without any luck:
.CommandText = "DSN=Excel Files;DBQ=C:\OTHERTEST\CurrentQuarter.xls;DefaultDir=C:\OTHERTEST;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"
.Connection = "DSN=Excel Files;DBQ=C:\OTHERTEST\CurrentQuarter.xls;DefaultDir=C:\OTHERTEST;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"
End With
Next conn
Set conn = Nothing
End Sub
我是我們在Connection(.CommandText或.Connection)上使用適當的方法?我覺得我不是因爲VBA引發錯誤「對象不支持此屬性或方法」
在這種情況下,使用的對象是QueryTable。我應該改變對象並使用那個?我的印象是,用戶不想連接到.xls文件。
任何幫助將不勝感激!