我有一个当前正在查询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文件。
任何帮助将不胜感激!