kav*_*man 21
我相信这是有效的,使用VBA:
Dim strPath As String
strPath = "C:\folder\folder\folder\file.txt"
Dim strFile As String
strFile = Right(strPath, Len(strPath) - InStrRev(strPath, "\"))
Run Code Online (Sandbox Code Playgroud)
InStrRev从末尾查找"\"的第一个实例,并返回位置.从给定长度的右边Right开始生成子串,因此您可以使用计算所需的长度Len - InStrRev
感谢kaveman的帮助.这是我用来删除路径和扩展名的完整代码(它不是完全证明,不考虑包含超过2位小数的文件,例如.*.tar.gz)
sFullPath = "C:\dir\dir\dir\file.txt"
sFullFilename = Right(sFullPath, Len(sFullPath) - InStrRev(sFullPath, "\"))
sFilename = Left(sFullFilename, (InStr(sFullFilename, ".") - 1))
Run Code Online (Sandbox Code Playgroud)
sFilename ="file"
我一直在寻找没有代码的解决方案.此VBA适用于Excel公式栏:
要提取文件名:
=RIGHT(A1,LEN(A1)-FIND("~",SUBSTITUTE(A1,"\","~",LEN(A1)-LEN(SUBSTITUTE(A1,"\","")))))
Run Code Online (Sandbox Code Playgroud)
要提取文件路径:
=MID(A1,1,LEN(A1)-LEN(MID(A1,FIND(CHAR(1),SUBSTITUTE(A1,"\",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,LEN(A1))))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58664 次 |
| 最近记录: |