Emanuele Mattei

Il Blog di Emanuele

My Links

Blog Stats

News

E-mail per eventuale contatto
E-mail






Supporta il blog offrendo una pizza o un caffè per informazioni fai click qui. Grazie :-)))




ClipArt del giorno:
Naviga attraverso più di 140.000 immagini e clip multimediali scaricabili gratuitamente, per arricchire i tuoi documenti Office.



E-mail per eventuale contatto
E-mail



Locations of visitors to this page



Le opere pubblicate in questo blog sono sotto la licenza Creative Commons. Attribuzione- No commerciale e no derivate.

Il libro che sto leggendo:






Settembre 2007 Dicembre 2007
Marzo 2008
Giugno 2008
Settembre 2008
Dicembre 2008


Pagina Hall Of Fame

Powered by  MyPagerank.Net

Categorie Articoli

Archivio

Categorie Post

Immagini

Sezione siti

Blog Amici

Office

Net

Siti Gratuiti

Siti vari

Tools

Elenco Siti

Il tempo a Roma

Programmi Gratuiti e Portatili

Articolo: Creazione di componenti aggiuntivi per Excel

Introduzione:

In questo articolo, vedremo come creare un componente aggiunto (formato .xla) in vba, per il programma di calcolo, excel, tale componente dovrà creare una barra degli strumenti, con un pulsante, il quale visualizza un calendario, qualora, si seleziona la data e si fa click sul pulsante ok, la data selezionata verrà inserita nella cella che ha lo stato attivo (selezionata)  di excel.

Il componente sarà come illustrato nella figura riporta qui di seguito.:

Figura 1

 

Cosa sono i componenti aggiuntivi:

I componenti aggiuntivi sono di due tipi, quelli scritti con vba, e quelli com scritti con diversi linguaggi (vb, c++, ecc)

Noi vedremo come crearli in vba.

Essi si trovano nella cartella AddIns situata nel seguente percorso di cartelle:

Documents e setting->nomeComputer->dati applicazione->Microsoft->AddIns.

Possiamo impostare che un determinato componente venga caricato all’avvio, per ottenere tale risultato basta mettere la spunta sul nome del componente nella finestra componenti aggiuntivi. Come mostrato qui di seguito:

Figura 2

 

Visual Basic Application:

Apriamo l’editor di visual basic, per far ciò, dobbiamo selezionare dal menu strumenti  selezioniamo la voce Macro e facciamo click sulla voce Visual Basic Editor.

Verrà aperto il programma per la creazione delle macro e la stesura del codice vba.

 

 

Stesura del codice

Inseriamo un modulo, questo avviene o facendo click sulla voce inserisci modulo, oppure tasto destro del mouse sul nome del progetto, o selezionando la voce modulo nel menu inserisci.

In questo modulo inseriamo le seguente constanti

Private Const CBR_INSERT As String = "Inserimento data wizard"

Private Const CTL_INSERT As String = "Inserisci data"

Esse avranno il compito di impostare le varie caption una per la barra e l’altra per il pulsante.

Fatto ciò dobbiamo creare una funzione, la quale all’avvio del componente, crea una barra o la visualizza qualora sia già creata.

La funzione di avvio dovrà avere il nome Sub Auto_Open() questo nome indica l’avvio del componente, ed è fondamentale, una parola chiave..

Di seguito viene illustrato il codice di tale funzione.

Sub Auto_Open()

   Dim cbrWiz       As CommandBar

   Dim ctlInsert    As CommandBarButton

   On Error Resume Next

   ' Inserisco la barra nella lista delle barre.

   Set cbrWiz = CommandBars(CBR_INSERT)

 

 

   If cbrWiz Is Nothing Then

      Err.Clear

      'istanzion la barra con il titolo

      Set cbrWiz = CommandBars.Add(CBR_INSERT)

      'la rendo visibile

      cbrWiz.Visible = True

      ' Aggiungo alla barra il pulsante il quale mi apre una form

      Set ctlInsert = cbrWiz.Controls.Add

      'imposto le varie proprietà del pulsante

      With ctlInsert

         .Style = msoButtonCaption

         .Caption = CTL_INSERT

         .Tag = CTL_INSERT

         'Indico che funzione intrapendere quando fa click sul bottone

         .OnAction = "ShowForm"

         'larghezza

         .Width = 200

      End With

Else

      ' se già c'è la barra la rendo visibile

      cbrWiz.Visible = True

   End If

End Sub

 

Questa procedura crea due oggetti uno di tipo barra (commandBar) e l’altro di tipo pulsante per la barra  (commandBarButton), verifica che la barra sia avviata, se non c’è, la crea, altrimenti la visualizza.

Vengono impostate varie proprietà del pulsante il quale viene aggiunto all’oggetto barra.

La proprietà OnAction indica il nome della funzione(sub) che dovrà essere eseguita qualora si fa click sul pulsante.

La funzione Auto_close ha il compito di togliere la barra quando si chiude il foglio.

Sub Auto_Close()

   On Error Resume Next

   ' cancello dalla lista delle barre la mia barra la scarico

   CommandBars(CBR_INSERT).Delete

End Sub

 

La funzione ShowForm dovrà aprire una form (che vedremo successivamente) tramite il metodo show della form.

Il codice sarà come riportato qui di seguito.

Sub ShowForm()

 

UserForm1.Show

End Sub

Creazione di una form.

Ora dobbiamo creare una form, la quale avrà un calendario ed un pulsante, se l'utente fa click sul pulsante della form verrà inserito sul foglio di calcolo la data selezionata.

Per inserire una form, ci sono varie strade, o si seleziona form dal menu inserisci, o tasto destro sul nome del progetto inserisci form.

Una volta inserita la form, Inseriamo il controllo calendario, facciamo click con il tasto destro del mouse sulla barra dei controlli e selezioniamo il controllo calendario, a questo punto inseriamo nella form un pulsante.

Nell’evento click di tale pulsante inseriamo il seguente codice

 

Private Sub CommandButton1_Click()

ActiveCell.Value = Calendar1.Value

Unload Me

End Sub

La proprietà VAlue di ACtiveCEll imposta o restituisce il valore della cella attiva, nel nostro esempio viene inserita la data selezionata del calendario nella cella attiva (selezionata)

A questo punto abbiamo finito la parte di codice, non ci resta che salvare tutto, facciamo click sulla voce file e salva, in basso, nelle opzioni di salvataggio alla voce “tipo File" selezioniamo la voce componente aggiuntivo xla.

A questo punto il nostro componente è stato creato, chiudiamo excel.

Apriamo excel, selezioniamo la voce componente aggiuntivi, selezioniamo il nome del componente, (il mio si chiama Esempio) e facciamo click su ok, a questo punto verrà visualizzata la barra. Se nell’elenco non compare il nome del nostro componente, dobbiamo ricercarlo tramite il pulsante sfoglia.

 

Conclusioni.

Questo articolo ha spiegato le basi per la creazione di un semplice componente aggiuntivo, scritto in vba, tali componenti possono migliorare l’uso dei prodotti Office.

Nelle ultime due versioni di office (xp e 2003) si possono creare componenti che possono potenziare l’uso di questi prodotti.


Download esempio

posted on venerdì 2 settembre 2005 0.49