

Gerarchia Articoli




mar 24 2008
Corso VBA #9 : Le Userform - Parte 2
Pubblicato da :Alex | 4960 letture |
Premessa
Nella lezione precedente abbiamo visto come creare userform e abbiamo accennato ai vari controlli che possiamo usare all'interno delle stesse. Ora vediamo aiutandoci con degli esempi come inserire i controlli e come programmarli per reperire dati presenti nel foglio di Excel.
I controlli
Un oggetto Userform può contenere controlli come possiamo vedere nelle finestre di dialogo normalmente mostrate da Excel o alri programmi. I controlli sono gli elementi di una finestra che consentono all'utente di interagire con il programma. L'elenco dei controlli lo abbiamo visto nella lezione precedente ora illustreremo i controlli più comuni messi a disposizione da VBA e utilizzabili nelle nostre Userform.
Nota : In rete si possono trovare diverse collezioni di controlli avanzati e specifici per le più svariate funzioni messi a disposizione da vari produttori di software. E' possibile aggiungere questi controlli (conosciuti anche come ActiveX oppure Oggetti Automazione), per il momento tralasciamo questo aspetto e parliamo di quelli comunemente usati
Ogni controllo è un oggetto con proprietà, metodi ed eventi specifici esattamente come le finestre (Userform) che li contiene, è possibile impostare le proprietà dei controlli via codice oppure utilizzando la finestra Proprietà dell'editor di Visual Basic
Vediamo ora in maniera più specifica i controlli presenti nella casella degli strumenti

Per poter inserire un controllo nella nostra Userform seguite questi passi
- Fate click sul pulsante della Casella degli strumenti corrispondente al controllo che volete aggiungere nella finestra, in questo modo il puntatore del mouse si trasforma in una croce sottile quando viene posizionato sulla Userform
- Posizionate il puntatore a croce sulla finestra nel punto in cui volete inserire il controllo, tenete presente che il punto che scegliete corrisponderà all'angolo superiore sinistro
- Fate clic e tenete premuto il pulsante sinistro del mouse
- Trascinate ora a destra e in basso fino a che il controllo non raggiunge le dimensioni desiderate, quindi rilasciate il pulsante, a questo punto l'editor di Visual basic inserisce il controllo e il puntatore del mouse ritorna ad essere la freccia standard
Facciamo un esempio con un controllo "Label" (Etichetta), con le istruzioni sopra riportate ci comparirà una finestra del genere

Come potete notare il controllo è circoscritto da dei piccoli quadratini bianchi che ci permettono di ridimensionare il controllo stesso, inoltre posizionandoci sopra al controllo il cursore cambia aspetto e diventa a 4 frecce, in questa condizione è possibile spostare il controllo nella posizione voluta.
Vediamo ora i vari controlli
Label : Corrisponde a Etichetta, inserisce un oggetto di tipo label1 svolge la funzione di etichetta descrittiva per quei controlli che non ne hanno una propria. E' inoltre possibile utilizzare le etichette per mostrare il valore di una variabile., si può modificare il testo mostrato di una etichetta (label1 nel nostro caso) modificando la proprietà Caption, questo è possibile via codice oppure agendo nella finestra delle proprietà, generalmente questo oggetto viene usato nei casi in cui non si debba modificarne il testo, ma semplicemente come elemento descrittivo di un altro controllo
Casella di testo : Inserisce un oggetto di tipo Textbox, questo oggetto permette l'inserimento di testo da parte dell'utente, viene utilizzato per ogni tipo di campo che può essere rappresentato come testo, nomi, date, numeri valute e inoltre può accettare e mostrare più righe di testo, infatti quando necessario compare una barra di scorrimento verticale che permette di scorrere il testo contenuto
Cornice : Inserisce un oggetto di tipo Frame, questo oggetto non ha nessuna funzione specifica, se non quella di raggruppare logicamente un insieme di controlli. Si utilizza solitamente per raggruppare pulsanti di opzione, caselle di controllo e pulsanti interruttore. Usate questo controllo quando volete far risaltare all'utente che i controlli contenuti nella cornice sono in qualche modo collegati tra loro
Pulsante di comando : Inserisce un oggetto di tipo CommandButton, il classico pulsante di standard di Windows che si attiva quando l'utente fa clic su di esso. L'azione svolta al clic sul controllo dipende dal codice che viene messo nell'evento, può compiere operazioni di chiusura (Close) di nascondimento (Hide), di aggiornamento dei dati, di verifica e così via
Pulsante di opzione : Inserisce un oggetto di tipo OptionButton, è composto da un pulsante tondo che contiene una pallina nera nel caso sia selezionato e da un'etichetta di descrizione. Viene usato con una serie di pulsanti di opzione per consentire all'utente una selezione di elementi che si escludono a vicenda
Pulsante Interruttore : Inserisce un oggetto di tipo ToggleButton, mostra lo stato del pulsante Vero o Falso, Acceso o Spento, allo stesso modo di una casella di controllo solo che ha l'aspetto di un pulsante in posizione "Su" o "Giù"
Casella di riepilogo : Inserisce un oggetto di tipo ListBox e mostra una serie di dati presenti nel foglio in cui l'utente può fare una scelta, inoltre la proprietà MultiSelect controlla la possibilità di effettuare la scelta di un solo valore o di più elementi della lista
Casella combinata : Inserisce un oggetto di tipo ComboBox, questo controllo è la combinazione grafica di una casella di testo (TextBox) e di una casella di riepilogo (ListBox) la casella di testo permette la digitazione di dati con la possibilità di suggerire una serie di valori tra cui scegliere attraverso la lista a discesa. Tramite questo controllo è possibile consentire all'utente di inserire un valore non presente nella lista, oppure costringerlo a scegliere un valore tra quelli presenti nella lista. Per poter effettuare questa impostazione bisogna modificare la proprietà Style nella finestra delle proprietà
Schede : Inserisce un oggetto di tipo TabStrip, questo controllo consiste in una singola area in cui è possibile inserire altri controlli, è costituito da una serie (modificabile a piacere) di pulsanti di tabulazione. Questo controllo è simile all'oggetto cornice, in quanto l'area non cambia, ma tramite i pulsanti di tabulazione è possibile mostrare dati di diverse categorie. Per esempio in un'anagrafica di un cliente è possibile avere un tabulatore in cui compaiono i dati generali (indirizzo, telefono etc..) un altro tabulatore mostrerà i dati bancari e così via
Pagine : Inserisce un oggetto di tipo MultiPage, questo controllo è simile al controllo Schede (TabStrip) inoltre ogni pagina di questo controllo può contenere diversi controlli distinti. E' da utilizzare quando ogni pagina deve avere un contenuto differente
Barra di scorrimento : Inserisce un oggetto di tipo ScrollBar e permette di scorrere i valori contenuti in una finestra
Casella di selezione : Inserisce un oggetto di tipo SpinButton, è una particolare categoria di casella di testo che permette l'inserimento facilitato e la modifica di dati compresi in un certo intervallo. Viene utilizzato per l'inserimento di valori numerici, date o valori in sequenza e si utilizza insieme ad un controllo etichetta(Label) o casella di testo (TextBox). In pratica facendo clic sulla freccia "su" o "giù" il valore viene incrementato o diminuito
Immagine : Inserisce un oggetto di tipo Image, e permette di inserire un'immagine all'interno della finestra in uno dei seguenti formati *.bmp, *.cur, *.jpeg, *.gif, *.ico
RefEdit : Inserisce un oggetto di tipo RefEdit, questa è una speciale casella di testo che consente di inserire e selezionare intervalli sui fogli di lavoro di Excel
Ricordo che ogni controllo aggiunto alla finestra di dialogo deve avere un nome univoco, a questo pensa già l'editor di VBA, se inseriamo un controllo CommandButtons gli viene assegnato automaticamente il nome del controllo seguito da un numero [es. CommandButtons1] questo numero progressivo viene incrementato automaticamente dall'editor ogni volta che si inserisce un controllo dello stesso tipo
Modificare i controlli
Una volta che avete aggiunto un controllo alla finestra potete effettuare una serie di operazioni come : copiare l'oggetto, ridimensionarlo, spostarlo, cancellarlo, modificarne la formattazione etc.. . Avrete sicuramente la necessità di compiere queste operazioni nel momento in cui perfezionerete la vostra tecnica di progettazione delle finestre di dialogo. Per esempio potete decidere che una casella di testo è troppo grande o troppo stretta per il testo che è destinata a ricevere, così necessita di una modifica delle dimensioni, oppure inserire un controllo CommandButon5 avrebbe un significato oscuro per l'utente che userà il programma.
Per modificare un controllo occorre prima selezionarlo facendo clic sopra al controllo stesso e per modificarlo dobbiamo ricorrere alla finestra delle proprietà.
Nella lezione precedente abbiamo visto come creare userform e abbiamo accennato ai vari controlli che possiamo usare all'interno delle stesse. Ora vediamo aiutandoci con degli esempi come inserire i controlli e come programmarli per reperire dati presenti nel foglio di Excel.
I controlli
Un oggetto Userform può contenere controlli come possiamo vedere nelle finestre di dialogo normalmente mostrate da Excel o alri programmi. I controlli sono gli elementi di una finestra che consentono all'utente di interagire con il programma. L'elenco dei controlli lo abbiamo visto nella lezione precedente ora illustreremo i controlli più comuni messi a disposizione da VBA e utilizzabili nelle nostre Userform.
Nota : In rete si possono trovare diverse collezioni di controlli avanzati e specifici per le più svariate funzioni messi a disposizione da vari produttori di software. E' possibile aggiungere questi controlli (conosciuti anche come ActiveX oppure Oggetti Automazione), per il momento tralasciamo questo aspetto e parliamo di quelli comunemente usati
Ogni controllo è un oggetto con proprietà, metodi ed eventi specifici esattamente come le finestre (Userform) che li contiene, è possibile impostare le proprietà dei controlli via codice oppure utilizzando la finestra Proprietà dell'editor di Visual Basic
Vediamo ora in maniera più specifica i controlli presenti nella casella degli strumenti

Per poter inserire un controllo nella nostra Userform seguite questi passi
- Fate click sul pulsante della Casella degli strumenti corrispondente al controllo che volete aggiungere nella finestra, in questo modo il puntatore del mouse si trasforma in una croce sottile quando viene posizionato sulla Userform
- Posizionate il puntatore a croce sulla finestra nel punto in cui volete inserire il controllo, tenete presente che il punto che scegliete corrisponderà all'angolo superiore sinistro
- Fate clic e tenete premuto il pulsante sinistro del mouse
- Trascinate ora a destra e in basso fino a che il controllo non raggiunge le dimensioni desiderate, quindi rilasciate il pulsante, a questo punto l'editor di Visual basic inserisce il controllo e il puntatore del mouse ritorna ad essere la freccia standard
Facciamo un esempio con un controllo "Label" (Etichetta), con le istruzioni sopra riportate ci comparirà una finestra del genere

Come potete notare il controllo è circoscritto da dei piccoli quadratini bianchi che ci permettono di ridimensionare il controllo stesso, inoltre posizionandoci sopra al controllo il cursore cambia aspetto e diventa a 4 frecce, in questa condizione è possibile spostare il controllo nella posizione voluta.
Vediamo ora i vari controlli
Label : Corrisponde a Etichetta, inserisce un oggetto di tipo label1 svolge la funzione di etichetta descrittiva per quei controlli che non ne hanno una propria. E' inoltre possibile utilizzare le etichette per mostrare il valore di una variabile., si può modificare il testo mostrato di una etichetta (label1 nel nostro caso) modificando la proprietà Caption, questo è possibile via codice oppure agendo nella finestra delle proprietà, generalmente questo oggetto viene usato nei casi in cui non si debba modificarne il testo, ma semplicemente come elemento descrittivo di un altro controllo
Casella di testo : Inserisce un oggetto di tipo Textbox, questo oggetto permette l'inserimento di testo da parte dell'utente, viene utilizzato per ogni tipo di campo che può essere rappresentato come testo, nomi, date, numeri valute e inoltre può accettare e mostrare più righe di testo, infatti quando necessario compare una barra di scorrimento verticale che permette di scorrere il testo contenuto
Cornice : Inserisce un oggetto di tipo Frame, questo oggetto non ha nessuna funzione specifica, se non quella di raggruppare logicamente un insieme di controlli. Si utilizza solitamente per raggruppare pulsanti di opzione, caselle di controllo e pulsanti interruttore. Usate questo controllo quando volete far risaltare all'utente che i controlli contenuti nella cornice sono in qualche modo collegati tra loro
Pulsante di comando : Inserisce un oggetto di tipo CommandButton, il classico pulsante di standard di Windows che si attiva quando l'utente fa clic su di esso. L'azione svolta al clic sul controllo dipende dal codice che viene messo nell'evento, può compiere operazioni di chiusura (Close) di nascondimento (Hide), di aggiornamento dei dati, di verifica e così via
Pulsante di opzione : Inserisce un oggetto di tipo OptionButton, è composto da un pulsante tondo che contiene una pallina nera nel caso sia selezionato e da un'etichetta di descrizione. Viene usato con una serie di pulsanti di opzione per consentire all'utente una selezione di elementi che si escludono a vicenda
Pulsante Interruttore : Inserisce un oggetto di tipo ToggleButton, mostra lo stato del pulsante Vero o Falso, Acceso o Spento, allo stesso modo di una casella di controllo solo che ha l'aspetto di un pulsante in posizione "Su" o "Giù"
Casella di riepilogo : Inserisce un oggetto di tipo ListBox e mostra una serie di dati presenti nel foglio in cui l'utente può fare una scelta, inoltre la proprietà MultiSelect controlla la possibilità di effettuare la scelta di un solo valore o di più elementi della lista
Casella combinata : Inserisce un oggetto di tipo ComboBox, questo controllo è la combinazione grafica di una casella di testo (TextBox) e di una casella di riepilogo (ListBox) la casella di testo permette la digitazione di dati con la possibilità di suggerire una serie di valori tra cui scegliere attraverso la lista a discesa. Tramite questo controllo è possibile consentire all'utente di inserire un valore non presente nella lista, oppure costringerlo a scegliere un valore tra quelli presenti nella lista. Per poter effettuare questa impostazione bisogna modificare la proprietà Style nella finestra delle proprietà
Schede : Inserisce un oggetto di tipo TabStrip, questo controllo consiste in una singola area in cui è possibile inserire altri controlli, è costituito da una serie (modificabile a piacere) di pulsanti di tabulazione. Questo controllo è simile all'oggetto cornice, in quanto l'area non cambia, ma tramite i pulsanti di tabulazione è possibile mostrare dati di diverse categorie. Per esempio in un'anagrafica di un cliente è possibile avere un tabulatore in cui compaiono i dati generali (indirizzo, telefono etc..) un altro tabulatore mostrerà i dati bancari e così via
Pagine : Inserisce un oggetto di tipo MultiPage, questo controllo è simile al controllo Schede (TabStrip) inoltre ogni pagina di questo controllo può contenere diversi controlli distinti. E' da utilizzare quando ogni pagina deve avere un contenuto differente
Barra di scorrimento : Inserisce un oggetto di tipo ScrollBar e permette di scorrere i valori contenuti in una finestra
Casella di selezione : Inserisce un oggetto di tipo SpinButton, è una particolare categoria di casella di testo che permette l'inserimento facilitato e la modifica di dati compresi in un certo intervallo. Viene utilizzato per l'inserimento di valori numerici, date o valori in sequenza e si utilizza insieme ad un controllo etichetta(Label) o casella di testo (TextBox). In pratica facendo clic sulla freccia "su" o "giù" il valore viene incrementato o diminuito
Immagine : Inserisce un oggetto di tipo Image, e permette di inserire un'immagine all'interno della finestra in uno dei seguenti formati *.bmp, *.cur, *.jpeg, *.gif, *.ico
RefEdit : Inserisce un oggetto di tipo RefEdit, questa è una speciale casella di testo che consente di inserire e selezionare intervalli sui fogli di lavoro di Excel
Ricordo che ogni controllo aggiunto alla finestra di dialogo deve avere un nome univoco, a questo pensa già l'editor di VBA, se inseriamo un controllo CommandButtons gli viene assegnato automaticamente il nome del controllo seguito da un numero [es. CommandButtons1] questo numero progressivo viene incrementato automaticamente dall'editor ogni volta che si inserisce un controllo dello stesso tipo
Modificare i controlli
Una volta che avete aggiunto un controllo alla finestra potete effettuare una serie di operazioni come : copiare l'oggetto, ridimensionarlo, spostarlo, cancellarlo, modificarne la formattazione etc.. . Avrete sicuramente la necessità di compiere queste operazioni nel momento in cui perfezionerete la vostra tecnica di progettazione delle finestre di dialogo. Per esempio potete decidere che una casella di testo è troppo grande o troppo stretta per il testo che è destinata a ricevere, così necessita di una modifica delle dimensioni, oppure inserire un controllo CommandButon5 avrebbe un significato oscuro per l'utente che userà il programma.
Per modificare un controllo occorre prima selezionarlo facendo clic sopra al controllo stesso e per modificarlo dobbiamo ricorrere alla finestra delle proprietà.


| Condividi Articolo | |
| AddThis: | |
| URL: | |
| BBcode: | |
| HTML: | |
| Facebook Like: |
|







Home
Articoli
Downloads
Informazioni
Utility















