PDA

Visualizza la versione completa : Sto cercando una funzione (Verifica se directory vuota)..


luigidid
26-09-2002, 15:46
Ciao Ragazzi,
mi aiutate un attimino?
sto cercando una funzione che mi dice se una cartella vuota o non...

Vi ringrazio anticipatamente
Ciao
Luigi

Mabi
26-09-2002, 18:40
Se vuota significa che non c' nessun file... quindi ti basta andare a prenedere il nome di un file della cartella e verificare che non sia una stringa vuota :) .


Dim FileName As String
Dim Directory As String

Directory = "C:\Documenti\"

FileName = Dir(Directory & "*.*")
If FileName = "" Then
MsgBox "Nessun file nella cartella " & Directory
Else
MsgBox "La cartella " & Directory & " non vuota"
End If


Ciao ! :ciauz:

luigidid
27-09-2002, 10:56
Ciao,
scusami ma non mi sono spiegato bene,
a me serve sapere anche se non ci sono sottocartelle.

quindi, piu' che altro, mi serve sapere se possiede o non sottocartelle.....

Ti ringrazio.
Ciao.

jabjoint
27-09-2002, 20:42
Private Sub Form_Load()
Dim elemFolder As Variant
Dim folder As String
Set fso = CreateObject("Scripting.FileSystemObject")
Set subFldrs = fso.GetFolder("C:\Documenti\icon").subfolders
For Each elemFolder In subFldrs
If Not InStr(1, elemFolder, "\") Then
folder = "La cartella piena."
Else
folder = "La cartella vuota."
End If
Next
MsgBox folder
End Sub

jabjoint
27-09-2002, 20:55
'Quella di prima non va bene questa si:

Dim fso As Object
Dim elemFolder As Variant
Dim x As Boolean

Set fso = CreateObject("Scripting.FileSystemObject")
Set subFldrs = fso.GetFolder("C:\Documenti").subfolders

For Each elemFolder In subFldrs
x = True
Next

If x = True Then
MsgBox "La cartella piena"
Else
MsgBox "La cartella vuota."
End If

luigidid
30-09-2002, 17:10
Ciao Ragazzi,
grazie lo stesso per l'impegno, ma ho gi risolto in altro modo e senza usare FSO (che mi tra l'altro un po' antipatico...)

Ecco a voi:

'Controlla se una directory vuota
Function IsDirEmpty(sDir As String) As Boolean
Dim bTrovatoFile As Boolean
Dim bTrovatoDir As Boolean
Dim sActFile As String

bTrovatoDir = False

bTrovatoFile = (Len(Dir(sDir & "*.*", vbNormal)) > 0)

sActFile = Dir(sDir & "*", vbDirectory)

Do While Not Len(sActFile) <= 0
sActFile = Dir(, vbDirectory)
If Not (sActFile = ".") And Not (sActFile = "..") Then
bTrovatoDir = bTrovatoDir Or (Len(sActFile) > 0)
End If
Loop

IsDirEmpty = Not bTrovatoDir And Not bTrovatoFile
End Function

Loading