将pivotcache的连接更改为现有连接

我正在尝试将Excel 2010 VBA中的pivotcache对象连接更改为我已经在工作簿中设置的连接。

我可以通过改变数据透视表的连接

ws.PivotTables(i).ChangeConnection ThisWorkbook.Connections( _ "My Connection Name") 

但是,pivotcache对象似乎没有ChangeConnection方法。

当我尝试

 Set ThisWorkbook.PivotCaches(PivotCacheIndex).Connection = ThisWorkbook.Connections("My Connection Name") 

它说“对象需要”。 它看起来好像ThisWorkbook.Connections("My Connection Name")只是一个string。

我使用的连接是MS Access 2010数据库和OLEDB。 我已经在VBA中设置了它们,没有任何问题。

任何想法,请?

我想你有两个select:

1)将PivotCache的SourceConnectionFile更改为指向不同的odc文件。

2)在其Connection属性中进行search和replace以更改文件path,并使用其CommandText属性来更改正在查询的表。