在用vba遍历文件夹中的文件时,经常需要提取文件的名称,但是获得文件名称往往都带有文件后缀名或扩展名,如以下所示:
abc.xlsx test.xlsx a.xls
或者类似如下的带有路径的完整文件名:
C:\Users\Administrator\Desktop\abc.xlsx C:\Users\Administrator\Desktop\test.xlsx C:\Users\Administrator\Desktop\a.xls
而我们往往需要的是如下所示的文件名:
abc test a
这时候可以使用如下的自定义函数来提取纯的文件名:
Function GetFileName(ByVal sName As String) '获取纯文件名的自定义函数 'QQ1722187970 Dim sTemp As String sTemp = sName '判断后缀名分隔符.的位置 iPos = Len(sTemp) - VBA.InStr(1, VBA.StrReverse(sTemp), ".") If iPos <> 0 Then sTemp = Mid(sTemp, 1, iPos) End If '判断路径分隔符\的位置 iPos = VBA.InStr(1, sTemp, "\") If iPos <> 0 Then '反转后好取字符 iPos = VBA.InStr(1, VBA.StrReverse(sTemp), "\") sTemp = Mid(VBA.StrReverse(sTemp), 1, iPos - 1) sTemp = VBA.StrReverse(sTemp) End If GetFileName = sTemp End Function
发表评论