Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010
-
3 juin 2003 à 17:15
plico223
Messages postés3Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention 4 août 2003
-
4 août 2003 à 10:19
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
plico223
Messages postés3Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention 4 août 2003 4 août 2003 à 10:19
Ouups , il vaut mieux
result = GetAttr(Nom_Repertoire & "" & Nom_Fichier) And vbDirectory
If result = vbDirectory
plico223
Messages postés3Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention 4 août 2003 4 août 2003 à 10:13
Il faut utiliser un test combiné pour l'attribut Directory sinon tu perds une bonne partie des répertoires.
à la place de :
If GetAttr(Nom_Repertoire & "" & Nom_Fichier) = vbDirectory
Il faut
result = GetAttr(Nom_Repertoire & "" & Nom_Fichier) And vbDirectory
If result <> 0 ...
plico223
Messages postés3Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention 4 août 2003 1 août 2003 à 17:21
Peut être mais le FilesytemObject est limité parce que si tu rencontre un droit "funky" dans un sous rep , le ".size" retourne une erreur !
Neo.balastik
Messages postés796Date d'inscriptionjeudi 17 mai 2001StatutMembreDernière intervention 5 mai 20097 17 juil. 2003 à 16:33
Pour pdl ;O)
En effet c'est court, mais pour accéder à FileSystemObject, il faut absolument que le PC possède IE4 minimum. Tu me diras que c'est pour la plupart des PC le cas.... ;-)
J'avais posté une source ici à l'époque (16/05/2002) que traitait 2 méthodes (récursivité et FSO) pour connaître la taille d'un répertoire: http://www.vbfrance.com/article.aspx?ID=4246
Bonne prog'
cs_pdl
Messages postés134Date d'inscriptionmardi 20 novembre 2001StatutMembreDernière intervention16 juin 2008 5 juin 2003 à 08:14
En plus court, tu peux faire
Function ShowFolderSize(filespec)
Dim fso, f, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(filespec)
s = UCase(f.Name) & " uses " & f.size & " bytes."
ShowFolderSize = s
End Function
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 3 juin 2003 à 17:15
Pour que ta fonction soit plus portable, tu devrais mettre quelques ReDim Preserve Libelle_Repertoire(0 to X) au lieu de fixer dès le départ à 100...
Autrement tout a l'air de bien marcher, rien à dire...
Saros
4 août 2003 à 10:19
result = GetAttr(Nom_Repertoire & "" & Nom_Fichier) And vbDirectory
If result = vbDirectory
4 août 2003 à 10:13
à la place de :
If GetAttr(Nom_Repertoire & "" & Nom_Fichier) = vbDirectory
Il faut
result = GetAttr(Nom_Repertoire & "" & Nom_Fichier) And vbDirectory
If result <> 0 ...
1 août 2003 à 17:21
17 juil. 2003 à 16:33
En effet c'est court, mais pour accéder à FileSystemObject, il faut absolument que le PC possède IE4 minimum. Tu me diras que c'est pour la plupart des PC le cas.... ;-)
J'avais posté une source ici à l'époque (16/05/2002) que traitait 2 méthodes (récursivité et FSO) pour connaître la taille d'un répertoire: http://www.vbfrance.com/article.aspx?ID=4246
Bonne prog'
5 juin 2003 à 08:14
Function ShowFolderSize(filespec)
Dim fso, f, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(filespec)
s = UCase(f.Name) & " uses " & f.size & " bytes."
ShowFolderSize = s
End Function
3 juin 2003 à 17:15
Autrement tout a l'air de bien marcher, rien à dire...
Saros