我有一本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$,如何更改数据文件的位置。
迟到总比不到好。有人可能会发现这很有用。 OLEDB 使用 PowerQueryConnection。
ActiveWorkbook.Queries(n).Formula 或者 ActiveWorkbook.Queries("queryname").Formula
顺便说一句,通过使用“数据”>“查询和连接”中“查询”上下文菜单上的“导出连接文件”并在文本编辑器中打开导出的文件,可以方便地查看连接和查询的所有详细信息。