Fíjate que yo suelo usar la función contraria:
Código vb:
Ver originalFunction MiraExtension(ByVal Fichero As String) As String
If InStrRev(Fichero, ".") Then
MiraExtension = UCase$(Right$(Fichero, Len(Fichero) - InStrRev(Fichero, ".")))
End If
End Function
y el caso es que por no pararme a hacer una como la tuya suelo hacer algo como:
Fichero2=Left$(Fichero1,len(Fichero1)-Len(MiraExtension(Fichero1))) & "xxx"
y no creas que lo he hecho solo una vez...
Aprovecharé la ocasión y me guardaré tu función. (y me ha salido un pareado)
Saludos
PD: Por cierto, la variable Punto debería ser un Long.