Pour s'affranchir de FSO dans les deux cas :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| Private Type FileInfoType
Base As String
Ext As String
Name As String
Path As String
End Type
Private Function FileInfo(SOURCE$) As FileInfoType
E& = InStrRev(SOURCE, ".")
P& = InStrRev(SOURCE, IIf(InStr(SOURCE, "/"), "/", "\"))
If E * P And E > P + 1 Then
FileInfo.Base = Mid$(SOURCE, P + 1, E - P - 1)
FileInfo.Ext = Mid$(SOURCE, E)
FileInfo.Name = Mid$(SOURCE, P + 1)
FileInfo.Path = Left$(SOURCE, P)
End If
End Function
Sub Demo1()
Dim INFO As FileInfoType
CHEMIN$ = "D:\test\file.xls"
If Dir(CHEMIN) > "" Then
INFO = FileInfo(CHEMIN)
MsgBox INFO.Path & vbLf & INFO.Name & vbLf & INFO.Base & vbLf & INFO.Ext
Else
MsgBox "Pas trouvé " & CHEMIN & " !"
End If
End Sub
Sub Demo2()
Dim INFO As FileInfoType
CHEMIN$ = "https://123456.com/dossier1/dossier2/file.xls"
INFO = FileInfo(CHEMIN)
MsgBox INFO.Path & vbLf & INFO.Name & vbLf & INFO.Base & vbLf & INFO.Ext
End Sub |
__________________________________________________________________________________________
Merci de cliquer sur
si ce message aide …
__________________________________________________________________________________________
La connaissance, c'est comme la confiture, moins on en a plus on l'étale !
Partager