'Funktion som hämtar ut filnamnet utan sökväg och filändelse
Function GetDocName(s)
dim nPosition, sFileName, i
nPosition = 0
'Hitta positionen för sista "\" i s
For i = 1 To Len(s)
If (Mid(s, i, 1) = "\") Then nPosition = i
Next
'Filnamn utan sökväg
sFileName = Right(s, Len(s) - nPosition)
'Filnamn utan filändelse
nPosition = InStr(sFileName, ".")
If nPosition <> 0 Then
sFileName = Left(sFileName, nPosition - 1)
End If
GetDocName = sFileName
End function
Kanske finns snyggare sätt att lösa det på, men det verkar funka!
Det finns en funktion som ger dig sista positionen för en viss delsträng - InstrRev(). Använd den istället så förenklas din kod en aning. Det är även den du borde använda för att slänga bort filändelsen, inte Instr - filnamn kan ju också innehålla punkter.