Importa liste files, ottimizzazione

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
BioEnergy
00sabato 30 luglio 2016 20:17
Ciao a tutti,

inserisco una versione con lievi modifiche dell'ultima verione catalogo files che avevo messo nei 'lavori'; premesso che lo uso regolarmente per aggiornare le mie directory (bypassando es. directoryLister) e non mi dispiace affatto come lo avevo impostato (rispetto ai vari file simili online), è pur sempre un excel 'frankenstein' creato adattando le varie macro che trovavo tra mille piroette e senza la minima conoscenza. Quindi elenco 3 cose che non ho la più pallida idea come risolvere :

1° (importante)
Le sub nel modulo01 che servono per importare le liste per funzionare funzionano ma evidentemente qualcosa non va. Troppo lente entrambi (anche senza la creazione dell'hyperlink o senza selezionare informazioni aggiuntive) e il processore soffre assai soprattutto quando i file sono tanti. Il primo catalogo files che avevo inserito (23/08/2015 ancora disponibile) importava veloce e senza stress.

2° (facoltativo, ma utile per altri)
Sempre nelle stesse subs avevo inserito queste righe (ne metto una):


Cells.Replace what:="D:\Didattica\", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False



Questo perchè mi interessava quando si elencava il percorso non averlo intero partendo dal disco di origine ma iniziando dalla cartella impostata sul foglio. Visto che non sono in grado di modificare la macro in tal senso ho optato per la modifica dopo l'importazione delle liste (quando parlo di piroette... ). Ovviamente però se un utente terzo vuole la stessa cosa, dovrà anche lui inserire i suoi percosi nelle 2 macro il che lo rende poco 'universale'.

3° (ciliegina opzionale)
Mica si riesce a fare partire la 'barra di progresso' (userform01) quando partono le macro di importazione delle liste? O, forse meglio, quando partono le macro dei pulsanti 'includi info' e 'escludi info' (che fanno partire le macro di importazione per tutti i fogli). 


Grazie se qualcuno in futuro ha voglia di dare un'occhiata!






raffaele1953
00domenica 31 luglio 2016 13:39
Sembrerebbe interessante
Codice da sfoltire al 50%
A me da errore in >>>Set mySource = myObject.GetFolder(mySourcePath)
Sai cosa vuol dire (io ho excel 2007), devo inserire un percorso? Dove?
patel45
00domenica 31 luglio 2016 16:11
sarebbe meglio allegare un file con solo la parte da ottimizzare, quello allegato è troppo articolato.
BioEnergy
00domenica 31 luglio 2016 18:56
@raffaele1953
Ah, per chi ha anche solo una vaga del VBA immagino sia da riscrivere tutto! [SM=x423018]

Se ben ricordo il lavoro è stato fatto con Excel 2013 e con l'attuale 2016 a me non da nessun errore. Già è un miracolo che sia riuscito a fare sto puzzle, sulle questioni di compatibilità più buio di un buco nero.
Posso dirti solo che quando si inserisce un nuovo foglio, viene duplicato il foglio 'Templato' nascosto e nelle celle A2 e B2 viene scritto rispettivamente se includere le sottocartelle (VERO\FALSO) ed il percorso della cartella dai cui importare.
Nel Modulo01 la sub 'ListaFiles' poi richiama le sub di importazione per i suddetti range.

Comunque allego l'ultima versione dove ho modificato la lista veloce (senza info shell) riprendendola dal primo lavoro postato ed ora non ho più problemi di processore ed è più prestante nell'importazione.
Comparando su 6000 files ci impiega 1 min e 13 sec; questo excel linkato però ci impiega solo 40 sec (quindi si può far meglio:
http://www.learnexcelmacro.com/wp/2011/11/how-to-get-list-of-all-files-in-a-folder-and-sub-folders/
Ovviamente l'ha fatto uno che se ne intende... Ma preferisco il mio che non avrà la super grafica con form ed è incasinato, ma creo più velocemente i fogli, li modifico, ho la funzione ricerca e mi permette di elencare i file dai DVD e poi verificare nel foglio aggiornamenti quali file non sono ancora masterizzati.
Poi se qualcuno sa dove ottimizzare le prestazioni, funzioni (o renderlo compatibile per vecchie versioni di excel) ancora meglio. Questo è il max che riesco a fare senza studiarmi dall'inizio il codice VBA.

@patel45
Quello che concerne l'importazione del files è nel modulo 01, a parte la sub 'AzzeraLista' richiamata che è nel modulo03; mal che vada ho uno schema se serve.


Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 01:41.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com