gpt4 book ai didi

excel - 使用宏设置 Excel 数据连接 (csv)

转载 作者:行者123 更新时间:2023-12-03 00:29:09 25 4
gpt4 key购买 nike

我一直在寻找以下问题的解决方案,但没有找到任何真正有用的东西:我有一个 Excel 工作表,其中包含与多个 csv 的数据连接。遗憾的是,Excel 确实将连接保存为绝对路径。理想情况下,我能够将路径设置为相对路径,但我会选择一个宏,该宏允许用户在首次使用之前根据 thisworkbook.path 更新连接。

该项目位于文件夹 d:\project 中,其中 excel 工作表位于 d:\project\excel 中,csv 位于 d:\project\results 中。如果我将项目作为 zip 发送给某个用户,并且他解压缩到 c:\my Documents\project 中,他将必须重新连接 10 个左右的 csv。

我的总体想法是编写一个宏(没有真正的代码,因为我是vba新手,如果我知道代码,我就不必问)

filepath = thisworkbook.path
cons = thisworkbook.connections
for each cons
filename = cons.filename
newpath = filepath & filename
end for

最佳答案

我知道这是一个老问题,但我现在一直在寻找同样的东西,我终于弄清楚了。也许其他人也这么说过,但我没有通过搜索谷歌找到它......

假设您已经具备以下条件:

  1. 您已在工作簿中设置了数据连接(假设连接管理器中的名称为 MyData
  2. 数据连接的目标已定义,位于 Sheet1 中的某个位置
  3. 您有一个单元格(例如 Sheet2 的 A1),其中包含您要连接到的文件名
  4. 您只需更改连接查找的路径,使其遵循工作簿的路径

如果是这种情况,类似这样的事情应该可以解决问题。

Dim fileLoc As String
Dim fileName As String

fileLoc = ThisWorkbook.Path
fileName = Sheet2.Range("A1").Value

Dim conString As String
conString = "TEXT;" & fileLoc & "\" & fileName

Sheet1.QueryTables.Item("MyData").Connection = conString

请根据您的情况需要随意修改或调整。

关于excel - 使用宏设置 Excel 数据连接 (csv),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12108537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com