Les Snippets

Connexion

[OOBASIC] DIRLIST - FONCTION LISTE DES FICHIERS / RÉPERTOIRES

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 05/08/2011 09:44:47 et initié par pifou25 [Liste]
Vue : 1808
Catégorie(s) : Fichier / Disque, Trucs & Astuces, Algorithme
Langages dispo pour ce code :
- VB6, VBA



Langage : VB6 , VBA
Date ajout : 05/08/2011
Posté par pifou25 [Liste]

REM liste les fichiers d'un répertoire
REM attr = 16 pour lister les sous-répertoires
Function DirList(rep as string, optional filter as string, optional attr as integer) as variant
	Dim sValue as string
	Dim count as long, i as long


	On Error Goto ErrHandler
	If IsMissing(attr) Then attr = 0
	
	If IsMissing(filter) Then ' compter le nb de fichiers
		count = DirListCount(rep, "", attr)
	Else
		count = DirListCount(rep, filter, attr)
	End If


	Dim ret(count) as string ' déclaration du tableau


	If IsMissing(filter) Then
		sValue = Dir$(rep, attr)
	Else
		sValue = Dir$(rep & filter, attr)
	End If


	Do
		If sValue <> "." and sValue <> ".." Then
				ret(i) = sValue
				i = i + 1
		End If
		sValue = Dir$
	Loop Until sValue = ""


	DirList = ret
Exit Function
ErrHandler:
	Msgbox "Erreur " & err & " (L." & erl & ") : " & error(err) & chr(13) & sValue & " (" & count & ")"
End Function



REM Compter les fichiers dans un répertoire
REM attr = 16 pour lister les sous-répertoires
Function DirListCount(rep as string, optional filter as string, optional attr as integer) as long
	Dim sValue as string
	Dim count as long


	On Error Goto ErrHandler
	If IsMissing(attr) Then attr = 0
	
	If IsMissing(filter) Then
		sValue = Dir$(rep, attr)
	Else
		sValue = Dir$(rep & filter, attr)
	End If
	Do
		If sValue <> "." and sValue <> ".." Then
			'If GetAttr( rep & sValue) <> attr Then 
			count = count + 1
		End If
		sValue = Dir$
	Loop Until sValue = ""
	DirListCount = count-1
Exit Function
ErrHandler:
	Msgbox "Erreur " & err & " (L." & erl & ") : " & error(err) & chr(13) & sValue & " (" & count & ")"
End Function


Remarque :
Pour OOBasic (CALC & co) j'ai souvent manqué de fonctions simples et indispensables alors je me les suis créées.

Celle ci liste un répertoire pour trouver les fichier et/ou sous-répertoires.
PARAMETRES :
- rep (String) = répertoire à lire
- filter (String) optionnel, un filtre. "" par défaut
- attr (Integer) optionnel, attribut du fichier. 0 par défaut, 16 pour lister les répertoires
SORTIE :
- array(String) (donc un variant)
EXEMPLE :
resultat = DirList("c:\temp", "*.csv")
resultat = DirList("c:\temp", "", 16)

une 2e fonction compte le nombre de résultats : fonction DirListCount() avec les mêmes paramètres.

Snippets en rapport avec : Tableau, Fichier, Répertoire, Calc, Openoffice



Codes sources en rapport avec : Tableau, Fichier, Répertoire, Calc, Openoffice

{Visual Basic, VB6, VB.NET, VB 2005} [OOBASIC] DIRLIST - FONCTION LISTE DES FICHIERS / RÉPERTOIRES
Pour OOBasic (CALC & co) j'ai souvent manqué de fonctions simples et indispensables alors je me les ...

{JAVA / J2EE} DÉTERMINER LE CHEMIN D'UN FICHIER DANS UN RÉPERTOIRE DONNÉ
Il s'agit d'une fonction que retourne le chemin complète "getAbsolutePath" d'un fichier "fileToFind"...

{JAVA / J2EE} CHERCHER UN FICHIER DANS UN RÉPERTOIRE DONNÉE
Cette fonction "searchFile" permet de chercher le fichier "fileToFind" dans le répertoire "searchIn"...

{Visual Basic, VB6, VB.NET, VB 2005} OPENOFFICE CALC
Vu qu'il m'a été très difficile de trouver des infos sur OpenOffice via VB.NET j'ai décidé de poster...

{PHP} FONCTION _SCANDIR UTF8
Récupère le contenu d'un répertoire, avec options de tris croissant-décr., filtre extension et conve...

{C# / C#.NET} CHECK IDENTICAL FILES
Juste un petit code d'avant vacances qui permet de lister les fichiers identiques dans un répertoire...

{Visual Basic, VB6, VB.NET, VB 2005} COMPARATEUR EXCEL EN MASSE, AMÉLIORATIONS
mabrouklepoux avait proposé un comparateur de fichiers Excel. http://www.vbfrance.com/code.aspx?ID=3...

{Delphi} SYNCHRONISATION-FICHIERS (MODIFICATION DE TIGRIS1)
TIGRIS a écrit: "Il y a encore beaucoup de fonctions qui peuvent être ajoutées et il n'est pas im...

{Delphi} SYNCHRONISATION DE FICHIERS
Bonjour, Le programme de synchronisation de répertoires posté par akilavaca m'a donné des idées e...

{Visual Basic, VB6, VB.NET, VB 2005} REPLACE IN FILE - REMPLACEMENTS MULTIPLES DES FICHIERS D'UN RÉPERTOIRE
[VB6] Petit utilitaire pour remplacer du texte par un autre, plusieurs remplacements en cascades pos...