[已解决] 用Power Query及Power Pivot后Excel文件名更改后能自适应更改而...

  [复制链接]
查看106196 | 回复118 | 2020-11-5 21:28:47 | 显示全部楼层 |阅读模式
如题,现有一个EXCEL文件名“测试”,里面用了Power Query及Power Pivot两个工具,如果我将Excel文件“测试”更改为其他名字,则Power Query及Power Pivot数据不能自动更新,能不能利VBA或其他办法让Power Query及Power Pivot数据库自适应EXCEL文件名的更改?这个问题苦恼我很久了,我一直是查阅坛子里的内容,几乎没发过贴子,麻烦哪位大神给想个办法,感谢!
回复

使用道具 举报

vikingbobo | 2020-11-5 21:37:47 | 显示全部楼层
是不是新人不能上传附件?
回复

使用道具 举报

bobby | 2020-11-5 21:38:47 | 显示全部楼层
从文件夹获取所有文件,找规则,筛除所有不要的表,剩下的就是那个乱改名字的表,话说你这名字改来改去,休息几天回来,你还找的到它吗?
回复

使用道具 举报

小胖猫 | 2020-11-5 21:46:48 | 显示全部楼层
从文件夹获取所有文件,找规则,筛除所有不要的表,剩下的就是那个乱改名字的表,话说你这名字改来改去,休 ...


工作需要,确实需要更改名称,并不是乱改名字。
回复

使用道具 举报

都市狂飚 | 2020-11-5 21:52:48 | 显示全部楼层
我有名称不改,路径如果有更改的代码,有需要的可以用,已测试是可以的。哪位大神提供一下路径,文件名都更改的代码?
路径变更代码如下:
Sub RefreshSource()
  Dim wbQ As Queries
  Dim strPath As String

  Set wbQ = ThisWorkbook.Queries
  For i = 1 To wbQ.Count
   If InStr(wbQ.Item(i).Formula, "File.Contents(""") > 0 Then
    '获取文件地址
   strPath = Split(Split(wbQ.Item(i).Formula, "File.Contents(""")(1), """")(0)
  '拆分出文件夹地址
    strPath = Left(strPath, InStrRev(strPath, "\") - 1)
    ElseIf InStr(wbQ.Item(i).Formula, "Folder.Files(""") > 0 Then
    '获取文件夹地址
    strPath = Split(Split(wbQ.Item(i).Formula, "Folder.Files(""")(1), """")(0)
  End If
  '替换formula中的地址为当前文件所在的文件夹地址
  wbQ.Item(i).Formula = VBA.Replace(wbQ.Item(i).Formula, strPath, ThisWorkbook.Path)

  Next
  If strPath  "" Then
  MsgBox "已更新数据源文件的路径为当前文件夹所在的文件夹。" & vbCrLf _
     & ThisWorkbook.Path, vbInformation + vb0K0nly, "提示信息"
Else
  MsgBox "未检测到可以更改的文件路径。", vbExclamation + vb0K0nly, "提示信息"
End If
End Sub
回复

使用道具 举报

yangzi1985 | 2021-5-20 14:34:43 来自手机 | 显示全部楼层
元芳你怎么看?
回复

使用道具 举报

慕蓉秋月 | 2021-7-1 20:52:52 来自手机 | 显示全部楼层
我擦!我要沙发!
回复

使用道具 举报

西红柿65 | 2021-7-9 12:37:48 | 显示全部楼层
鼎力支持!!
回复

使用道具 举报

sunyujian | 2021-8-27 07:03:01 来自手机 | 显示全部楼层
支持一下云发教育!
回复

使用道具 举报

紫禁城 | 2021-10-2 12:24:02 | 显示全部楼层
顶顶更健康
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则