我想要检索txt文件,然后编辑文件名(将“转换后”添加到文件名中)和扩展名(从 .r01 到 .txt的)。 这样做的目的是让我知道txt文件是否已被转换
到目前为止,这是我的代码;
Dim infilename As Variant
infilename = Application.GetOpenFilename("Text & r01 Files (*.r01;*.txt),*.r01;*.txt", , "Open Neutral File", "OPEN")
答案 0 :(得分:2)
InStrRev
将允许您找到最后一个.
并将其从字符串
FileNameWithoutExt = Left(Filename, InStrRev(Filename, ".") - 1)
工作簿FullName:
的示例?activeworkbook.FullName
Z:\ Individual Folders \ Sean \ transfers2.xlsx
?Left(activeworkbook.FullName, InStrRev(activeworkbook.FullName, ".") - 1)
Z:\ Individual Folders \ Sean \ transfers2
您可以将它们包装在一个函数中,以使它们更易于使用。我还添加了一个只提供文件名的函数,而不是带有完整路径的函数
Function FileNameOnly(fName)
'Changes "C:\Path\Filename.ext" to "Filename.ext"
FileNameOnly=mid(fName,instrrev(fName,"\")+1)
End Function
Function DelExt(fName)
'Changes "C:\Path\Filename.ext" to "C:\Path\Filename"
DelExt=left(fName,instrrev(fName,".")-1)
End Function
然后,您可以在程序中使用这些内容,使用类似NewFileName=DelExt(infilename) & "CONVERTED.txt"
答案 1 :(得分:0)
我设法使用Sean Cheshire的部分代码获得了我想要的东西。
Dim newFileName As Variant
newFileName = Left(inFileName, (InStrRev(inFileName, ".") - 1)) & "CONVERTED.txt"