This little bit of code I made will return different parts of a file like Drive, Path, Filename, extension Hope you find it usfull.
Code:Enum FileParts vDrive = 1 vPath = 2 vFilename = 3 vExtension = 4 End Enum Private Function ReturnFileParts(oFilePart As FileParts, Filename As String) As String Dim sPos As Integer Dim ePos As Integer Select Case oFilePart Case vDrive sPos = InStr(1, Filename, ":", vbBinaryCompare) If (sPos > 0) Then 'Extract drive ReturnFileParts = Left$(Filename, sPos - 1) End If Case vPath 'Get first slash sPos = InStr(1, Filename, "\", vbBinaryCompare) 'Get end slash If (sPos > 0) Then ePos = InStrRev(Filename, "\", Len(Filename), vbBinaryCompare) End If If (ePos > 0) Then 'Return Path ReturnFileParts = Mid$(Filename, sPos + 1, ePos - sPos - 1) End If Case vFilename 'Get end slash sPos = InStrRev(Filename, "\", Len(Filename), vbBinaryCompare) If (sPos > 0) Then 'Return filename ReturnFileParts = Mid$(Filename, sPos + 1) End If Case vExtension 'Find . sPos = InStr(1, Filename, ".", vbBinaryCompare) If (sPos > 0) Then 'Return extension ReturnFileParts = Mid$(Filename, sPos + 1) End If End Select End Function Private Sub Command1_Click() Dim File As String 'Example File = "C:\SomeFolder\Level1\Test.txt" MsgBox ReturnFileParts(vDrive, File) 'Return C MsgBox ReturnFileParts(vPath, File) 'Return SomeFolder\Level1 MsgBox ReturnFileParts(vFilename, File) 'Return Test.txt MsgBox ReturnFileParts(vExtension, File) 'Return txt End Sub




Reply With Quote