RechercheRep

RechercheRep

Messagepar Stephane Maillard » 19 Juil 2005 à 10:45

[syntax="ls"]'(Declaration)
Private Const MAX_PATH = 260
Private Const INVALID_HANDLE_VALUE = -1

Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type

Private Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type

Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" ( _
Byval lpFileName As String, _
lpFindFileData As WIN32_FIND_DATA) As Long

Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" ( _
Byval hFindFile As Long, _
lpFindFileData As WIN32_FIND_DATA) As Long

Function RechercheRep(sSearch As String) As String
Dim iNum As Long
Dim i As Long
Dim iDeb As Long
Dim hFile As Long
Dim tFindFile As WIN32_FIND_DATA
Dim bTrouve As Variant

sSearch = sSearch & ":"

hFile = findfirstfile(sSearch + "\*.*", tFindFile)
bTrouve = hFile <> INVALID_HANDLE_VALUE
Do While bTrouve
If tFindFile.dwFileAttributes = 16 Or tFindFile.dwFileAttributes = 17 Then
If Left$(tFindFile.cFileName, 1) <> "." Then
pos = Instr(tfindfile.cfilename, Chr$(0))
tmpSearch = Left$(tfindfile.cfilename, pos - 1)
RechercheRep = sSearch & "\" & tmpSearch
Exit Do
End If
End If
inum = inum + 1
bTrouve = FindNextFile(hFile, tFindFile)
Loop
End Function[/syntax]Vous permet de récupérer les répertoires par rapport à un chemin donné.
Vous pouvez mettre le résultat dans une variable tableau et retirer le Exit Do de la fonction.

rc = RechercheRep("C")
msgbox rc
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Retour vers API

cron