You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power Query中使用M语言获取当前Excel文件路径?

使用M语言获取当前Excel文件路径的方法

当然可以用M语言实现和你提到的Excel公式相同的效果,以下是具体实现方式:

方法1:通过内置函数快速提取

在Power Query编辑器中,直接用M语言的组合函数就能完成,代码如下:

= Text.BeforeDelimiter(CurrentWorkbook(){[Item="FileName"]}[Value], "[")

逻辑说明:

  • CurrentWorkbook(){[Item="FileName"]}[Value]:获取当前工作簿的完整标识(格式类似C:\Users\XXX\Documents\[工作簿1.xlsx],包含路径和文件名)
  • Text.BeforeDelimiter(..., "["):截取[符号之前的内容,也就是文件所在的路径

方法2:复刻Excel公式的逻辑

如果想完全对应你给出的Excel公式思路,也可以用更分步的写法:

let
    FullFileName = CurrentWorkbook(){[Item="FileName"]}[Value],
    Path = Text.Range(FullFileName, 0, Text.PositionOf(FullFileName, "["))
in
    Path

这个逻辑和Excel公式完全一致:先获取完整文件名,找到[的位置,再截取该位置之前的文本。

其他非M语言替代方法

除了M语言,用VBA也能直接获取路径,代码示例:

Sub GetCurrentFilePath()
    MsgBox ThisWorkbook.Path
End Sub

ThisWorkbook.Path会直接返回当前文件的所在路径,比公式更简洁直接。

注:你提到的Excel公式=LEFT(CELL("filename");SEARCH("[";CELL("filename");1)-1)确实实用,以上方法仅作为好奇探索的补充。

内容的提问来源于stack exchange,提问作者050

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 13:32:32