Conteggio linee codice progetti VBA

Stato
Chiusa ad ulteriori risposte.

Hydraulics

Utente abituale
27 Luglio 2018
155
30
Udine
Office 365
18
Cari forumisti,

poco tempo fa avevo chiesto aiuto per un lavoro che esegue il conteggio delle linee di codice di un qualunque progetto VBA (Add-In o foglio con macro). Esistono già soluzioni complete (come quella che mi ha segnalato Powerwin), ma a me interessava soprattutto capire qualcosa in più di oggetti sui quali esistono poche informazioni.

Allego il lavoro finito (o meglio, nella forma attuale), che consiste in due banalissime userform e due moduli, uno dei quali da usare solo se si intende collegare l'esecuzione a una ribbon bar. Non è codice particolarmente interessante, manca una qualunque gestione delle eccezioni e probabilmente l'organizzazione generale farà rabbrividire più di qualche esperto; però forse a qualcuno potrà tornare utile. Poiché ho molto da imparare, suggerimenti e critiche (anche feroci) sono benvenute.

Francesco
 

Allegati

  • Like
Reactions: klingklang

klingklang

Ciappinaro VBA_Expert
Expert
20 Ottobre 2017
5.435
245
43
San Giovanni in Persiceto (BO)
www.excelswissknife.com
2016, 365
396
Ciao, a me sembra un buon lavoro e comunque non è vero che non hai gestito alcuna eccezione (avviso se non si sceglie nessun progetto, esclusione dei progetti protetti, esclusione di strumenti di analisi...). Tra l'altro, su richiesta di un utente, per la prossima versione del mio programma ho fatto qualcosa di molto simile (anche se genera un foglio con l'output), spero che non me ne vorrai... ho scritto la routine ieri senza aver visto il tuo componente, giuro! :arrossisco:
Curerei solo un po' di più l'aspetto grafico, ma per il resto bell'esercizio! :stringomano:
 

Hydraulics

Utente abituale
27 Luglio 2018
155
30
Udine
Office 365
18
Grazie Enrico, per eccezioni mi riferisco a tutto quello a cui non ho pensato e che può provocare un errore arrestando l'esecuzione. In genere inserisco almeno un messaggio che riporta tipo di errore e sub/function che ha causato l'imprevisto, così l'utente non si trova spiazzato.

L'aspetto grafico in effetti è orribile, mi sono limitato a dimensionare dinamicamente l'altezza della userform con i risultati, ma al momento è un esercizio per puro uso personale.
 

Zer0Kelvin

VBA Expert
Expert
19 Novembre 2016
1.667
95
59
Teramo (Provincia)
zer0kelvin.altervista.org
2010
120
Col mio Excel 2010 se apro il file il risultato è questo:

Immagine.png

Immaginea.png
In pratica per vedere il codice devo aprire il file come archivio ed editare l'xml per modificare IsAddin in false, altrimenti non si visualizza nulla.

PS: scusa il ritardo, ma mi ero dimenticato di questa mia richiesta.
 

dracoscrigno

CioccaPiatti & VBA Expert
Expert
1 Maggio 2016
4.023
65
office pro 2010
58
giusto per ...
qualcuno lo ha visto il listato o sono l' unico demente che non sa trovare la password in topic?!



Ah, aggiungerei anche il tipo di modulo (Type) nella schermata di output:
1 sono i moduli standard
2 i moduli di classe
3 le userform
100 i moduli di classe "foglio" o "cartella di lavoro"
diamo il nome alle cose per quello che sono, che poi scrivono porcate perfino sui libri.

Aggiungerei anche il nome dell' oggetto al quale appartiene il modulo di cui si parla

1 sono i moduli standard
2 sono i moduli di classe
3 gli userform
100 i fogli e la cartella di lavoro



quelli in rosso sono tutti OGGETTI
quello in azzurro è un LUOGO nello schermo dove andare a scrivere qualcosa. Ricordiamoci sempre che, in italiano, esistono parole come CANE, che rappresentano cose a quattro zampe che mordono accuminati ma anche oggetti accuminati che scattano e fanno esplodere proiettili.

Non è che se si chiama MODULO, allora si sta parlando sempre della stessa cosa.

il modulo standard è quell'oggetto che ha quelle date caratteristiche
il modulo di classe ha quell'oggetto che ha quelle determinate caratteristiche
il foglio e la cartella di lavoro sono quegli oggetti che hanno quelle determinate caratteristiche
Etc etc..

Tutti questi oggetti, con le loro peculiarità, hanno modo di essere personalizzati attraverso l'aggiunta di codice all' interno dei propri rispettivi moduli.

"son un pistolero senza cane nella pistola, ma con un cane che si chiama Cane"

quindi. la stupidaggine "modulo di classe del foglio" è -appunto- una stupidaggine.

nel luogo adibito a poter inserire codice (il modulo) di che cosa?!

del foglio di nome gervaso
della cartella di lavoro di lavoro di nome pietra.xlsm
del form di nome non_ho_idee
del modulo standard dinome module1
del modulo di classe di nome Pippo
 
Stato
Chiusa ad ulteriori risposte.

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!