EP01. “Path and FullName Path 和 FullName 属性”
🔒 登录后可标记已读- 写 VBA 处理多个文件时,经常要知道"这份文件存在哪里"
- 这篇教你
Path和FullName两个属性的差别 Path只给资料夹路径,FullName连文件名一起给- 前置知识是知道怎么打开 VBA 编辑器
- 学完能在代码里动态取得当前工作簿的位置信息
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
事前准备
下载范例文件 path-fullname.xlsm,保存到 C:\test\ 文件夹,并在工作表上放一个命令按钮。
Path 属性
Sub Show_Path()
MsgBox Workbooks("path-fullname.xlsm").Path
End Sub
Path 属性只返回工作簿保存的完整路径(不含文件名本身),比如 C:\test。
FullName 属性
Sub Show_FullName()
MsgBox ActiveWorkbook.FullName
End Sub
FullName 属性返回完整路径 + 文件名,比如 C:\test\path-fullname.xlsm。
代码怎么运行
Alt + F11打开 VBA 编辑器,Insert → Module,贴入代码- 回到工作表放命令按钮,分别绑定两个 Sub
- 点击按钮,观察弹出的路径信息差异
[截图:分别点击两个按钮后弹出的 MsgBox,一个只显示资料夹路径,一个显示路径加文件名的差异]
小技巧 💡
FullName 常用在"打印前自动加页脚显示文件位置"这类场景,把 ActiveWorkbook.FullName 塞进页脚代码里,打印出来的文件就知道自己存在哪。
方法怎么选
| 属性 | 适合场景 | 备注 |
|---|---|---|
Path | 只需要资料夹路径,比如动态拼出另存路径 | 工作簿还没存过盘时返回空字符串 |
FullName | 需要完整路径 + 文件名,比如打印页脚显示文件位置 | 同样,未存盘时也是空字符串 |
学完你会
- ✅ 能用
Path取得工作簿所在的资料夹路径 - ✅ 能用
FullName取得完整路径连文件名 - ✅ 知道工作簿没存盘时两个属性都会返回空字符串,要注意这个坑
常见错误
- 把
Path和FullName搞混,用Path结果却期待拿到包含文件名的完整路径,导致后续用这个路径去拼接文件名时少了一层 - 工作簿还没保存过(新建但没存盘),
Path会返回空字符串,因为还没有"保存路径"这个东西
Sources
Blog / Website: