Ho gia' pubblicato in passato (recente, vedi http://www.pc-facile.com/forum/viewtopi ... &t=112382) ; remoto, vedi http://www.pc-facile.com/forum/viewtopi ... 26&t=99260 ) la procedura per creare un "inventario" delle macro presenti nei propri file excel.
Lo pubblico nuovamente tra "I nostri Lavori" sperando di dargli maggiore e più duratura visibilità
Il link: https://www.dropbox.com/s/c7qet82ae31zl ... .xlsm?dl=0
Edit: superato da vers 4-3, vedi viewtopic.php?f=26&t=112386&p=660631#p667188
Tutto il processo è controllabile dal foglio Memo, che riassume un tot di informazioni sull'utilizzo più due pulsanti che consentono di avviare le due fasi del processo:
-il pulsante Esegui RUNATTRIB consente di impostare la directory di lavoro e raccogliere in Foglio1 tutti i file Excel presenti in quella direcory. Potete consultare l'elenco prima di avviare la seconda parte del processo
-il pulsante Esegui MACROINVENTORY avvia l'inventario delle macro.
L'elenco sara' creato su un foglio col nome nel formato AAAA-MM-GG; se il foglio non esiste verra' creato; se esiste gia' i nuovi dati saranno accodati ai preesistenti.
Ogni elenco comincia con la scritta >>>>>> hh:mm:ss in colonna A
Per ogni macro sara' raccolto il Modulo, il nome della macro, le prime 3 righe del codice (vedi colonna G), e qualcosa altro.
Una userform informa sull'avanzamento del processo, e consente eventualmente di "fermare" la raccolta, ad esempio per esaminare il tipo di informazioni raccolte
Questa versione e' leggermente diversa da quanto pubblicato finora perche' ho cercato di evitare che eventuali messaggi di errore bloccassero l'esecuzione della macro; infatti ora i messaggi di errore sono visualizzati tramite una userform "autoestinguente" dopo 5 secondi (il ritardo puo' essere modificato intervenendo sul codice della userform UFInfo2, all'interno della Sub UserForm_Activate). In questo modo teoricamente si puo' eseguire il processo senza la supervisione dell'utente, indicando per il file lo status "VBProject PROTETTO o ERRORE di OPEN"
I file in errore sono marcati dalla sequenza ### in colonna A
TUTTAVIA non tutte le situazioni sono intercettate e gestite con messaggio autoestinguente:
-ad esempio quei file che eventualmente utilizzano nel vba dei riferimenti espliciti a librerie che mancano sul Pc di esecuzione della macro provocheranno un errore del tipo "Non è stato possibile caricare alcuni oggetti perché non disponibili in questo computer" che deve essere chiuso dall'utente.
-non escludo che ci siano altre situazioni che richiedano l'intervento dell'utente per continuare l'esecuzione; chi ne trovasse e' invitato a segnalarle in questa discussione, per una eventuale diagnosi.
I file che sono protetti da password, sia in accesso al file che in accesso all'elenco delle macro venogono anche loro marcati "VBProject PROTETTO o ERRORE di OPEN"
Prerequisito: E' necessario che in Excel sia dichiarato attendibile l'accesso al modello a oggetti del Vba, tramite Menu /File /Opzioni /Centro protezione; Impostazioni centro protezione /Impostazioni delle macro. In mancanza di questa predisposizione i file saranno tutti interpretati come se fossero protetti.
Sarebbe meglio che a completamento del processo tutti i file marcati "VBProject PROTETTO o ERRORE di OPEN" vengano esaminati per capire le cause, ed eventualmente rimuovere l'ostacolo e ripetere poi il processo per ottenere un inventario macro completo.
Buon inventario...
EDIT
La versione 4-3 corregge l'errore segnalato da raimea nel caso che Percorso o Nome file contengano il carattere Spazio
Vedere viewtopic.php?f=26&t=112386&p=660631#p667188