我有一个使用Dir功能的宏。
MyFile = Dir(CurDir() & Sep & "*.xls")
Do While MyFile <> ""
...
MyFile = Dir()
Loop
如何从MyFile中提取文件名(不包括扩展名)?
答案 0 :(得分:1)
看起来没有方便的内置函数,所以你必须做一些字符串操作:
' Get just the file name and extension
lastPathIndex = InStrRev(MyFile, Application.PathSeparator)
If lastPathIndex >= 1 Then
MyFile = Right(MyFile, Len(MyFile) - lastPathIndex)
End If
' Now get the file name without the extension
lastDotIndex = InStrRev(MyFile, ".")
If lastDotIndex >= 1 Then
MyFile = Left(MyFile, lastDotIndex - 1)
End If
' MyFile now contains just the filename
答案 1 :(得分:0)
MyFile 变量保存带扩展名且没有路径的文件名。
根据您的输入,您知道找到的任何文件的扩展名为 .xls ,因此您可以使用单行更新代码
MyFile = Dir(CurDir() & Sep & "*.xls")
Do While MyFile <> ""
MyFile = Left(MyFile, Len(MyFile) - 4)
...
MyFile = Dir()
Loop
答案 2 :(得分:0)
另一种方法是
fileName = Split(MyFile, Sep)(UBound(Split(MyFile, Sep)))