我有一個使用Dir函數的宏。從Dir中提取文件名()
MyFile = Dir(CurDir() & Sep & "*.xls")
Do While MyFile <> ""
...
MyFile = Dir()
Loop
如何從MyFile中提取文件名(不包括擴展名)?
我有一個使用Dir函數的宏。從Dir中提取文件名()
MyFile = Dir(CurDir() & Sep & "*.xls")
Do While MyFile <> ""
...
MyFile = Dir()
Loop
如何從MyFile中提取文件名(不包括擴展名)?
它看起來並不像有一個方便的內置功能,所以你必須做一些字符串操作:
' 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
的MyFile的變量保存的文件名帶有擴展沒有路徑。
根據您的輸入,你知道分機發現將的.xls任何文件,所以你可以使用一個單獨的一行代碼更新
MyFile = Dir(CurDir() & Sep & "*.xls")
Do While MyFile <> ""
MyFile = Left(MyFile, Len(MyFile) - 4)
...
MyFile = Dir()
Loop
另一種方法是
fileName = Split(MyFile, Sep)(UBound(Split(MyFile, Sep)))