Condividi:        

Excel, Creare un Inventario delle macro

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Excel, Creare un Inventario delle macro

Postdi Anthony47 » 29/03/22 11:44

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

Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Sponsor
 

Re: Excel, Creare un Inventario delle macro

Postdi 1004 » 22/08/24 09:08

grazie!
1004
Newbie
 
Post: 7
Iscritto il: 25/03/06 16:11

Re: Excel, Creare un Inventario delle macro

Postdi raimea » 25/08/24 10:09

ciao

e' un ottimo file
un super lavoro,
il programma funziona.

mi permetto di fare una osservazione che potrebbe capitare ad altri

non riuscivo a prelevare le macro da una cartella
il fgl1 rimaneva vuoto.

poi ho scoperto che era dovuto al fatto che la cartella aveva un nome con SPAZIO
armadio ottico
ho messo un andcore e tutto ok >> armadio_ottico

ancora grazie

ciao

Immagine
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1428
Iscritto il: 11/02/10 07:33
Località: lago

Re: Excel, Creare un Inventario delle macro

Postdi Anthony47 » 25/08/24 15:29

Grazie Angelo per la tua segnalazione

La nuova versione "4-3" corregge l'errore; essa e' scaricabile qui: https://www.dropbox.com/scl/fi/ce0h786r ... c8at6&dl=0

E' stato modificato il codice della Sub runAttrib affinché il comando all'interno del file C:\PROVA\myPippoBat.bat sia compatibile con l'eventuale presenza di "Spazio" all'interno del percorso o nome file
Chi ha gia' creato un inventario con la precedente versione puo' sostituire il codice della vecchia Sub runAttrib col nuovo codice, in modo da conservare l'inventario gia' preparato

Buon inventario
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel, Creare un Inventario delle macro

Postdi maxpit » 26/08/24 18:09

Buonasera Anthony47,

con la versione precedente avevo fatto un piccolo test della macro per leggere l'elenco dei file e sono dovuto intervenire sul codice per 3 problemi:
1) la cartella "C:\PROVA" non potevo crearla dove prevista e sono intervenuto sulle righe di codice interessato sostituendola con una variabile "sPathProva" che valorizzo all'inizio scegliendo un percorso di mio interesse con "FileDialog";
2) ho notato un disallineamento della data del file e del codice del pc allineandolo alle intestazioni e modificando il riferimento per la ricerca dell'ultima riga scritta.
3) la questione degli spazi nel percorso delle cartelle, che hai già risolto nella nuova versione 4.3.

Con questi interventi sono riuscito a testare il codice e ti faccio i complimenti.

Se desideri, puoi prendere spunto dagli altri due punti per una futura implementazione del codice.

A presto

Max
Avatar utente
maxpit
Utente Junior
 
Post: 19
Iscritto il: 04/08/24 11:59

Re: Excel, Creare un Inventario delle macro

Postdi Anthony47 » 26/08/24 21:50

Grazie Max per la segnalazione

2) ho notato un disallineamento della data del file e del codice del pc allineandolo alle intestazioni e modificando il riferimento per la ricerca dell'ultima riga scritta.
Questa pero' non l'ho capita, me la puoi spiegare con altre parole o altri dettagli?

Ciao, ti aspetto
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel, Creare un Inventario delle macro

Postdi maxpit » 27/08/24 06:20

Buongiorno Anthony47,

nella prima riga di report del file processato riporti:

  • colonna A: Header progressivo e nome del file;
  • colonna D: data del file
  • colonna E: nome pc
ora mi sono preso la libertà, ma come anticipato è solo un allineamento estetico, di spostare i dati della riga di Header delle colonna D e E sulle successive E e F in quanto riportano l'intestazione della colonna (Data e CodicePC) allineata al contenuto inserito.

Spero di essere riuscito a spiegarmi meglio.

Buona giornata ancora.

Max
Avatar utente
maxpit
Utente Junior
 
Post: 19
Iscritto il: 04/08/24 11:59

Re: Excel, Creare un Inventario delle macro

Postdi Anthony47 » 27/08/24 09:57

Sì, credo di aver capito...
In effetti l'intestazione di Riga 1 e' riferita all'elenco delle macro, ma nell'elenco la prima riga prodotta e' relativa al file, e qui data e Nome PC sono disallineati.

Ho modificato la versione in linea per correggere questo disallineamento; in piu' ho migliorato anche un problema di leggibilità delle colonne G e H: ora la colonna H e' vuota e il Full Name e' spostato in colonna I, e questo dovrebbe rendere piu' evidente la separazione delle celle.

Come detto, la versione ora online e' allineata a queste modifiche
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel, Creare un Inventario delle macro

Postdi ricky53 » 17/09/24 00:51

Ciao,
ho trovato molto interessante la tua proposta ed ho scaricato e provato subito il tuo file
ho provato con vari file ma ottengo sempre lo stesso errore in colonna "F" ed è il seguente
"VBProject PROTETTO o ERRORE di OPEN...."

il progetto in VBA non è protetto

Allego tre file di esempio

https://docs.google.com/spreadsheets/d/16CB_w_W7NiMNQq4HFvDyh4DnqU_7UdjN/edit?usp=drive_link&ouid=107560393421361554860&rtpof=true&sd=true,%20https://docs.google.com/spreadsheets/d/1eCMio995S6lBbUgMQWFtpVuZViCD4stj/edit?usp=drive_link&ouid=107560393421361554860&rtpof=true&sd=true,%20https://drive.google.com/file/d/1dzIt7DWwvU3eCO7F5PC1yNcoWZO5DYLJ/view?usp=drive_link


Grazie
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel, Creare un Inventario delle macro

Postdi Anthony47 » 17/09/24 09:32

Il link che hai condiviso richiede i diritti di accesso al tuo google drive, che ovviamente io non ho.
Quando condivido un file su drive io faccio così:
-da Drive, tasto dx sul nome file, Share, Share
-l'opzione di default che viene offerta e' con la condizione "Restricted", ma un menu a tendina consente di scegliere "Anyone with the link"; a quel punto copio il link e lo condivido

Potrei anche conoscere quale e' il percorso + Nome file con cui i file dovrebbero esser letti (vedi Foglio1 colonna B)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel, Creare un Inventario delle macro

Postdi ricky53 » 17/09/24 11:58

Ciao,
grazie per la risposta.

Ho dato l'accesso.

Invio un'altra immagine seguendo le tue indicazioni
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel, Creare un Inventario delle macro

Postdi ricky53 » 17/09/24 12:21

Ciao,
non utilizzo MAI SPAZI nei nomi dei file, se è questo quello che volevi sapere. :)

Questo è il percorso ed il nome file:

C:\Users\Utente_W10E_64\Pictures\Saved Pictures\TROVA_e_Inserisce_IMMAGINI.xls
C:\Users\Utente_W10E_64\Pictures\Saved Pictures\TROVA_e_Inserisce_IMMAGINI.xlsm
C:\Users\Utente_W10E_64\Pictures\Saved Pictures\TROVA_e_Inserisce_IMMAGINI.xlsx
C:\Users\Utente_W10E_64\Pictures\Saved Pictures\TROVA_e_Inserisce_IMMAGINI_No-MACRO.xls
C:\Users\Utente_W10E_64\Pictures\Prova_Anthony47.xls


E questi sono tre file di esempio

https://docs.google.com/spreadsheets/d/16CB_w_W7NiMNQq4HFvDyh4DnqU_7UdjN/edit?usp=sharing&ouid=107560393421361554860&rtpof=true&sd=true

https://drive.google.com/file/d/1dzIt7DWwvU3eCO7F5PC1yNcoWZO5DYLJ/view?usp=sharing

https://docs.google.com/spreadsheets/d/1eCMio995S6lBbUgMQWFtpVuZViCD4stj/edit?usp=sharing&ouid=107560393421361554860&rtpof=true&sd=true


Grazie
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel, Creare un Inventario delle macro

Postdi Anthony47 » 17/09/24 14:31

"Purtroppo" i file a me vengono aperti regolarmente e l'elenco macro creato regolarmente. Es:
Codice: Seleziona tutto
Sub qaz() -#-     MsgBox "QAZ" -#- End Sub -#-
Sub wsx() -#-     Dim mess As String -#-  -#-
Sub edc() -#-     Dim i As Long, j As Double, k As Integer -#-      -#-


Sub Legge_Percorso() -#- ' -#- ' Viene eseguita con "CTRL+q" -#-
Sub ShowFolderList(CARTELLA, Rig, Col) -#- 'CARTELLA=Cartella sorgente -#- 'rig=Riga del foglio di output -#-
Sub Ordina_Dati() -#-     Sheets("Elenco_File").Select -#-     Range("B2").Select -#-
Sub Inserisci_Immagini() -#-  -#- 'Viene eseguita con "Ctrl+w" -#-

Posso chiederti con quale versione Excel fai le prove?

Il Percorso+NomeFile era per capire se eravamo su un drive locale o di rete
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel, Creare un Inventario delle macro

Postdi ricky53 » 17/09/24 15:27

Ciao,
con Office 2021 e lavoro su un disco locale SSD e con SO W10
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel, Creare un Inventario delle macro

Postdi maxpit » 17/09/24 20:06

Buonasera ricky53,

Controlla le impostazioni delle macro nel Centro di Protezione.

Non ho la tua versione ma 365 ma dovrebbe essere simile:

Immagine

Prova e fai sapere.

Max
Avatar utente
maxpit
Utente Junior
 
Post: 19
Iscritto il: 04/08/24 11:59

Re: Excel, Creare un Inventario delle macro

Postdi ricky53 » 18/09/24 00:04

Grazie,
ho fatto come mi hai suggerito e ... TUTTO è ANDATO a MERAVIGLIA.

Grazie ancora
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel, Creare un Inventario delle macro

Postdi Anthony47 » 18/09/24 14:29

Grazie e maxpit che ha pensato che Ricky invecchiando potesse essere distratto e non leggere il "Prerequisito" nel messaggio iniziale :D :D
Glissiamo invece sul fatto che qualcun altro abbia dimenticato che non molto tempo fa aveva scritto proprio quel "Prerequisito", d'accordo? :D :D :D
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel, Creare un Inventario delle macro

Postdi ricky53 » 18/09/24 16:18

Ciao,
il prerequisito non è BENE EVIDENZIATO !!!! In giallo è solo la parola prerequisito, ma gli anziani hanno bisogno di una maggiore attenzione e, quindi, se la riga fosse stata TUTTA GIALLAAAAAAAA la avrei vista
:) :lol:

Grazie ancora
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel, Creare un Inventario delle macro

Postdi maxpit » 18/09/24 21:58

Buonasera a tutti,

sono contento che il problema sia stato risolto e poi Anthony47, quante volte è capitato di cercare gli occhiali e ritrovarli ruotati in senso antiorario sulla testa ... :lol: :lol: :lol:

A presto!

Max
Avatar utente
maxpit
Utente Junior
 
Post: 19
Iscritto il: 04/08/24 11:59


Torna a Applicazioni Office Windows


Topic correlati a "Excel, Creare un Inventario delle macro":


Chi c’è in linea

Visitano il forum: Nessuno e 17 ospiti