Personalizzare interfaccia Excel

    
    Le macro create in VBA possono essere richiamate anche da voci di menu o pulsanti contenuti nelle barre dei comandi di Microsoft Excel.
    Apriamo l'Editor di Visual Basic e creiamo un nuovo modulo di codice, all'intero inseriamo una qualsiasi routine. Io ho inserito la seguente in quanto ci introduce agli argomenti che tratteremo in seguito. Il codice visualizza una serie di finestre di messaggio che riportano i nomi ed i codici identificativi di tutti i comandi contenuti nella Barra dei comandi "Standard" .
    	Sub ControlliBarreComando()
    	   For ctr = 1 To CommandBars("Standard").Controls.Count
    	      MsgBox ctr & ". Nome del controllo: " & _
    	      CommandBars("Standard").Controls(ctr).Caption & _
    	      ",  identificativo del controllo: " & _
    	      CommandBars("Standard").Controls(ctr).ID
    	   Next ctl
    	End Sub
        
    La procedura di associazione della routine ad un comando di interfaccia Excel è semplice.
    Clicchiamo col tasto destro del mouse su una qualsiasi barra degli strumenti. Ci viene proposta una finestra contenente tutte le barre degli strumenti attive e non. Selezioniamo la voce personalizza che appare in fondo al menu di pop up. Appare la finestra di dialogo "Personalizza", che permette di operare su menù, barre degli strumenti e relativi comandi associati.
    Il pannello contiene tre schede.
    • La prima permette di gestire le barre, ad esempio puoi rendere visibile o nascondere una barra, o crearne una nuova.
    • La seconda permette di aggiungere, togliere, spostare comandi in una barra degli strumenti.
    • La terza contiene alcune opzioni di visualizzazione delle barre.
    Entriamo nella scheda comandi alla categoria macro.
    Ora clicchiamo su "pulsante personalizzato", per intenderci, e trasciniamolo in una qualsiasi barra degli strumenti. Senza chiudere la finestra di dialogo "Personalizza", clicca col tasto destro sulla nuova icona creata. Dalla finestra che ci compare selezioniamo l'ultima voce: "assegna macro…", quindi selezioniamo la macro che vogliamo associare al nostro comando.
    Possiamo inserire anche un nuovo menù ed associare le nostre routine alle voci di menù.
    Per creare un nuovo menù, entriamo nella finestra di dialogo "Personalizza". Dalla scheda barra degli strumenti creiamo una nuova barra di nome "Nuovo menù". Entriamo nella scheda "Comandi", selezioniamo la voce "Nuovo Menù" e trasciniamo "Nuovo menù" dalla lista comandi in fondo alle voci di menù dell'interfaccia di Excel. Sempre dalla scheda menù, selezioniamo la voce "macro" dalla lista "categorie" , trasciniamo col mouse tante "Voci di menù personalizzate" quante vogliamo nel nuovo menù appena creato. Cliccando col tasto destro del mouse sul menù o sulle relative voci appena create, senza chiudere la finestra di dialogo "Personalizza", possiamo modificarne le caratteristiche o assegnare le macro.
    Da notare che una volta variate le barre ed i menù di Excel, le modifiche rimarranno attive non solo per il documento in uso, ma per tutte le applicazioni Excel lanciate successivamente. Quindi non sarà molto agevole assegnare ad un comando di interfaccia, una macro pensata per agire su un documento specifico.
    Nelle pagine seguenti faremo un ulteriore passo avanti, arriveremo a gestire l'interfaccia di Excel con il codice di Visual Basic, quindi a modificare dinamicamente l'aspetto dei comandi e le funzionalità associate secondo le nostre esigenze.