esiste un comando a cui passato un path fornisce l'elenco dei files contenuti all'interno della directory indicata ?
grazie
esiste un comando a cui passato un path fornisce l'elenco dei files contenuti all'interno della directory indicata ?
grazie
ElencoFile conterrà tutti i nomi dei file trovati per un totale di ContatoreFile + 1codice:Dim ElencoFile() As String Dim StringaAppoggio As String Dim ContatoreFile As Integer ContatoreFile = 0 Redim Preserve ElencoFile(ContatoreFile) StringaAppoggio = Dir (Percorso & "*.*") ElencoFile(ContatoreFile) = StringaAppoggio While StringaAppoggio <> "" StringaAppoggio = Dir () If StringaAppoggio <> "" Then ContatoreFile = ContatoreFile + 1 Redim Preserve ElencoFile(ContatoreFile) ElencoFile(ContatoreFile) = StringaAppoggio End If Wend
![]()
ti ringrazio![]()
la sto provando ora ma alla riga
StringaAppoggio = Dir(CartellaFile & "*.*")
la variabile StringaAppoggio non viene valorizzata e allora non entra nel ciclo che dovrebbe creare l'array.
sicuro che Dir sia una funzione di vba ? forse funziona solo in vb ?
Si, ti posto l'esempio riportato dalla guida di VBA
Sicuro che la variabile Percorso sia corretta? (Deve terminare con "\")codice:MyPath = "c:\" ' Imposta il percorso. MyName = Dir(MyPath, vbDirectory) ' Recupera la prima voce. Do While MyName <> "" ' Avvia il ciclo. ' Ignora la directory corrente e quella di livello superiore. If MyName <> "." And MyName <> ".." Then ' Usa il confronto bit per bit per verificare se MyName è una directory. If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then Debug.Print MyName ' Visualizza la voce solo End If ' se rappresenta una directory. End If MyName = Dir ' Legge la voce successiva. Loop
![]()
Ciao Luciano79!
Ho fatto una ricerca su MSDN sull'argomento postato, però non ho trovato soluzione al mio problema, che ora ti espongo.
In sostanza vorrei ottenere i files contenuti in una sottocartella, per poi copiarli uno per uno. Il percorso è di questo tipo:
In effettti concodice:StringaAppoggio = Dir(App.Path & "\DATI\*.*")il codice funziona, ma se aggiungo \DATI Non si attiva.codice:StringaAppoggio = Dir(App.Path & "\*.*")
C'è una soluzione ?
Ciao!
LM
.... strano!
Il parametro che passi alla Dir() è una semplice stringa, poco importa se lo passi come variabile, come dato fisso, come tante variabili... quello che conta è la stringa finale, quindi se la sintassi è giusta (nell'esempio che mi posti lo è) e non funziona sicuramente c'è qualcosa che non va nel percorso.
App.Path restituisce il percorso dell'eseguibile. Se lo lanci da un collegamento restituisce comunque il percorso dell'eseguibile. Se lanci il debug restituisce il percorso del progetto. Dovresti quindi far visualizzare App.Path e verificarlo.
![]()
Luciano79,
del percoso sono sicuro, ora provo ad associare un controllo alla routine per vedere quello che effettivamente fa.
Grazie per la risposta.
LM