如何从文件名(VBA)中删除文件扩展名

时间:2015-08-15 11:23:46

标签: excel vba

我有一个包含"Filename.csv"的文件名变量。要从我使用的路径中提取文件名:Filename=Dir([fStr])从我选择的文件中检索fStr

我只需要没有".csv"的文件名。如何删除".csv"扩展名?

3 个答案:

答案 0 :(得分:6)

您可以使用替换功能:

deploy

答案 1 :(得分:0)

我的代码在各种不允许脚本的系统上运行。我改写这个来解决这个限制。

Function FileGetBaseNameNoExt(aFilenameStr As String) As String
  Dim TmpCnt As Integer
  Dim TmpStr As String

  FileGetBaseNameNoExt = aFilenameStr

  If InStr(aFilenameStr, ".") = False Then
    Exit Function
  End If

  TmpCnt = 1
  TmpStr = Left(Right(aFilenameStr, TmpCnt), 1)
  While TmpStr <> "."
    TmpCnt = TmpCnt + 1
    TmpStr = Left(Right(aFilenameStr, TmpCnt), 1)
  Wend

  'Make Sure the Filename is Not Something Odd like .csv
  If TmpCnt < Len(aFilenameStr) Then
    FileGetBaseNameNoExt = Left(aFilenameStr, Len(aFilenameStr) - TmpCnt)
  End If
End Function

答案 2 :(得分:0)

回答太晚了,可能对未来有帮助

试试这个

Mid(fileName, 1, InStr(1, fileName, ".") - 1)

它适用于任何文件扩展名或文件名

例如:

文件名:ThisIsMyFile.csv