La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Buongiorno, mi chiedevo se fosse possibile inserire una formula che mi restituisca l'elenco dei files contenuti in una cartella di archiviazione dati su C: .
Ho la necessità di verificare periodicamente la trasmissione di alcuni documenti da parte di soggetti terzi.
Per cui mi chiedevo se impostando un format di archiviazione dei files (ad esempio data_ente_numero protocollo_oggetto..) poi excel potesse restituirimi l'elenco aggiornato e da lì recuperare le informazioni necessarie in automatico...
Non so se sono stata abbastanza chiara.
Ringrazio anticipatamente.
Rosangela Colucci
ciao
ho idea ci voglia il vba
vediamo se i vbaisti ti vedono
nel frattempo
in un modulo
Sub Importa_nomi_files()
Dim riga As Integer
Dim nome As String
Dim MiaPath As String
MiaPath = "C:\Users\poivr\Documents\LISA\"
ChDir MiaPath
riga = 1
Columns("B:B").ClearContents
nome = Dir(MiaPath & "*.*")
While nome <> ""
Cells(riga, 2) = nome
nome = Dir
riga = riga + 1
Wend
End Sub
chiaramente devi cambiare il percorso MiaPathc (ricorda di aggiungere \ alla fine del percorso
e scegliere la colonna di dove lo vuoi
fatti un pulsante o lanciala tu al bisogno
@gianfranco55 grazie mille, come sempre.
Naturalmente provando a fare la macro mi sono accorta di essere stata inesatta nella richiesta, perchè in realtà non mi serve l'elenco dei files (ho provato e funziona perfettamente), bensì delle cartelle (e magari a cascata anche dei file contenuti al loro interno).
Mi servirebbe anche l'elenco delle cartelle.
cerco di spiegarmi meglio...scusate
avrei bisogno, ad esempio, che della cartella _04_DD_LIQUIDAZIONI mi restituisse l'elenco delle cartelle contenute (A_R_2022_I LIQ; A_R_2022_II LIQ; etc....) e per ognuna di questa i file contenuti.
ok, va cambiato ind ed aggiunta la libreria microsoft scripting runtime
I nomi vengono messi in colonna A, non vengono elencarti i dati aggiuntuv (ultimo salvataggio ecc)
Sub GetSubFolderNamesX()
'Abilitare microsoft.scripting.runtime
Dim MyFSO As FileSystemObject
Dim MyFolder As Folder, MySubFolder As Folder, rng As Range, r As Integer, ind As String
Set MyFSO = New Scripting.FileSystemObject
ind = "C:\Users\lucar\Desktop\vendite"
Set MyFolder = MyFSO.GetFolder(ind)
r = 0
Range("A1:A100").ClearContents
For Each MySubFolder In MyFolder.SubFolders
ind = MyFolder & "\" & MySubFolder.Name & "\"
r = r + 2
Cells(r, 1) = ind
nome = Dir(ind)
Do While nome <> ""
r = r + 1
Cells(r, 1) = nome
nome = Dir
Loop
Next MySubFolder
End Sub
codice con tutti i dati richiesti
Sub GetSubFolderNamesX()
'Abilitare microsoft.scripting.runtime
Dim MyFSO As FileSystemObject
Dim MyFolder As Folder, MySubFolder As Folder, rng As Range, r As Integer, ind As String
Set MyFSO = New Scripting.FileSystemObject
ind = "C:\Users\lucar\Desktop\vendite"
Set MyFolder = MyFSO.GetFolder(ind)
r = 0
Range("A1:C100").ClearContents
Cells(1, 1) = "cartella - File": Cells(1, 2) = "ultima modifica": Cells(1, 3) = "dimensioni"
For Each MySubFolder In MyFolder.SubFolders
ind = MyFolder & "\" & MySubFolder.Name & "\"
r = r + 2
Cells(r, 1) = ind: Cells(r, 2) = MySubFolder.DateLastModified: Cells(r, 3) = "cartella si files"
Nome = Dir(ind)
Do While Nome <> ""
r = r + 1
Cells(r, 1) = Nome: Cells(r, 2) = FileDateTime(ind & Nome)
Cells(r, 3) = Format(FileLen(ind & Nome) / 1024, "0.00")
Nome = Dir
Loop
Next MySubFolder
End Sub
