|
一般都是用mid函数搭配inst函数r截取你需要的部分:对于路径,会有多个“\”,有两种方法截取:
1、可以通过算法获得,这个方法代码少一点,但推理会难一点,思路是与工作表函数SUBSTITUTE的方法类似,在vba里是用replace来操作;
2、另一种就是for循环,我个人推荐这一种,操作和理解比较简单,就是代码稍微长一点,也好记:
s = "c:\aaa\bbb\ccc\文件.slx" '全路径的文件名
For i = 1 To 10 '假设最多包含10层子路径,如果不够还可以增加
If InStr(s, "\") > 0 Then '包含有"\"
s = Mid(s, InStr(s, "\") + 1, 100) '截取"\"之后的部分,一次只能截掉一层
Else
Exit For '如果没有"\",退出
End If
Next i
s1 = Mid(s, 1, InStr(s, ".") - 1) '截取文件名
s2 = Mid(s, InStr(s, ".") + 1, 4) '截取扩展名,最长就4个字符
Cells(1, 1) = s1 '在a1显示文件名
Cells(2, 1) = s2 '在a2显示扩展名
|
|