Per accertarmene dovrei controllare una per una migliaia di cartelle,
perciò vi chiedo
potreste indicarmi un modo per controllare in automatico le cartelle e nel caso che siano vuote segnalarmelo?
Non ho un server sottomano da dove ti rispondo.
Questo codice elenca le cartelle contenute in C:\Prova che sono vuote in una MsgBox :
Public Sub m()
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim objSubfolder As Object
Dim colSubfolders As Object
Dim lFile As Long
Dim s As String
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\Prova")
Set colSubfolders = objFolder.Subfolders
For Each objSubfolder In colSubfolders
lFile = 0
lFile = objSubfolder.Files.Count
If lFile < 1 Then s = s & objSubfolder.Name & vbNewLine
Next
MsgBox s
Set objSubfolder = Nothing
Set colSubfolders = Nothing
Set objFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
End Sub
La parte in grassetto è da modificare con la path del tuo server.
Se vuoi vedere il risultato in un foglio di Excel (qui Foglio1), modifica così:
Public Sub m()
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim objSubfolder As Object
Dim colSubfolders As Object
Dim lFile As Long
Dim lRiga As Long
lRiga = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\Prova")
Set colSubfolders = objFolder.Subfolders
For Each objSubfolder In colSubfolders
lFile = 0
lFile = objSubfolder.Files.Count
If lFile < 1 Then
Foglio1.Cells(lRiga, 1).Value = objSubfolder.Name
lRiga = lRiga + 1
End If
Next
Set objSubfolder = Nothing
Set colSubfolders = Nothing
Set objFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
End Sub
NOTA. Per cartelle intendi le Directory, non le cartelle di Excel, vero?