Non ho seguito questa discussione per alcuni giorni, ora faccio anche fatica a capire quale era il problema originale...
Inizialmente, infatti, avevo interpretato che l' obiettivo era di processare un tot di file contenuti in 4 directory diverse, file che aggiornavi tramite una tua procedura; insomma bisognava processare (cioe' accodare i dati dei file in un archivio su nuovo file excel) tutti i file contenuti nelle directory.
Poi era emerso il problema che difficilmente la macro di ricerca file restituiva i file in ordine di data/ora, e qui la mia proposta era stata di prelevare da ogni file sia la data/ora che il dato richiesto, ordinare per data/ora crescente, copiare i dati accodandoli all' archivio.
Sembrava una proposta interessante, poi non e' stata provata perche'
"Quando la macro verifica il contenuto della directory scrive il nome e solo il nome del file all'interno della pagina excell, al termine della verifica la macro carica l'ultimo file che ha messo in colonna nella pagina quindi io fino a questo momento non ho aperto nessun file e non conosco la data dei file incolonnati e quindi non posso efettuare un'ordinazione."Ma io avevo dato per scontato che tu eri capace di importare il file ed estrarre da questo il dato che ti serviva (non ricordo quale cella era), cosa che era stato oggetto di post precedenti e che anche tu avevi confermato nel messaggio del 30/07 alle 9.35: "
Il risultato finale è quello che mi aspettavo ma avrei bisogno di automatizzare la selezione dei file e caricare l'ultimo file presente poi ripetere la stessa procedura per 4 directory diverse".
Quindi quello di cui io parlavo era da applicare al file dopo la sua importazione, per cui l' osservazione "
io fino a questo momento non ho aperto nessun file e non conosco la data dei file incolonnati e quindi non posso efettuare un'ordinazione" e' forse corretta (il file non e' stato aperto) ma sostanzialmente errata (il file e'' stato importato e a questo punto hai accesso a tutte le sue celle, compreso quellache contiene la data/ora).
Poi e' emerso che il "lavoro" lo devi fare solo sull' ultimo file (tuo messaggio del 31/07 ore 8.09: "
il mio interesse e quello di poter caricare sempre l'ultimo fle presente nella cartella").
Mi spieghi anche perche' non hai adottato la macro basata su Application.FileSearch per avere l' elenco dei file? Vedi
viewtopic.php?f=26&t=81428#p463624, mi sembra piu' lineare di quella che hai adottato (vedi
viewtopic.php?f=26&t=81428#p463630)
Dopo queste considerazioni, qualche suggerimento:
-rivedi i miei post
viewtopic.php?f=26&t=81428#p463624 e
viewtopic.php?f=26&t=81428#p463669-se ti e' necessario rinominare un file dopo averlo processato, il mio suggerimento e' di cambiarne l' estensione da txt a prn (a meno che tu non abbia gia' altri file prn nelle 4 directory di cui parliamo); questo lo fai con una istruzione tipo
- Codice: Seleziona tutto
Name NomeFile As Replace(NomeFile, ".txt", ".prn")
NomeFile e' la variabile che contiene il percorso+nome+estensione del file; se usi una variabile diversa adatta l' istruzione.
Questa istruzione va messa a conclusione del processo di importazione dei dati di ognuno dei file in gioco, dopo che hai trasferito con successo i dati che ti interessano.
In questo modo, visto che la macro di "cerca file" lavora sui file "*.txt" i file gia' lavorati non entrano nel successivo elenco.
Questo e' il meglio che posso scrivere, vedi se puoi applicare.
Ciao.