更改 Excel oledb 连接的数据源

问题描述 投票:0回答:1

我有一本Excel工作簿,有10张。每个工作表都包含一个指向 .csv 文件的 oledb 连接。 每个连接最初创建时都是为了指向特定的 .csv 文件。

我想使用VB更改.csv文件的名称。 当我尝试使用以下方法检索源文件的名称时:

?ActiveWorkbook.Connections(8).OLEDBConnection.SourceDataFile

什么也没有返回。只有空格。

然后我注意到,使用:

?ActiveWorkbook.Connections(8).OLEDBConnection.connection 

返回这个:

OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=PAIDOFF_L2500;Extended Properties=""   

我很困惑...如果源是 $Workbook$,如何更改数据文件的位置。

excel vba oledb
1个回答
0
投票

迟到总比不到好。有人可能会发现这很有用。 OLEDB 使用 PowerQueryConnection。

ActiveWorkbook.Queries(n).Formula 或者 ActiveWorkbook.Queries("queryname").Formula

顺便说一句,通过使用“数据”>“查询和连接”中“查询”上下文菜单上的“导出连接文件”并在文本编辑器中打开导出的文件,可以方便地查看连接和查询的所有详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.