Condividi tramite


Accesso globale agli oggetti nei progetti Visual Studio Tools per Office

Aggiornamento: novembre 2007

È possibile utilizzare la classe Globals per accedere a diversi elementi del progetto da qualsiasi codice nel progetto.

Come utilizzare la classe Globals

Globals è una classe statica che mantiene i riferimenti agli elementi del progetto. Tramite la classe Globals è possibile fare riferimento ai seguenti elementi da qualsiasi codice del progetto:

  • Workbook o qualsiasi elemento host Worksheet in un progetto Cartella di lavoro o Modello di Excel. Si accede a questi elementi host utilizzando le proprietà della classe Globals che si riferiscono a ogni elemento host nel progetto. Per impostazione predefinita, i nomi dell'elemento host sono ThisWorkbook, Sheet1, Sheet2 e Sheet3.

  • L'elemento host Document in un documento o un progetto di modello di Word. Il nome predefinito per questa proprietà dell'elemento host è Globals.ThisDocument.

  • L'elemento host AddIn in un progetto a livello di applicazione. Il nome predefinito per questa proprietà dell'elemento host è Globals.ThisAddIn.

  • Tutte le barre multifunzione del progetto che sono state personalizzate utilizzando Finestra di progettazione della barra multifunzione. È possibile accedere alle barre multifunzione utilizzando la proprietà Globals.Ribbons.

  • Tutte le aree di modulo di Outlook in un progetto di componente aggiuntivo per Outlook. È possibile accedere alle aree di modulo utilizzando la proprietà Globals.FormRegions.

È possibile, ad esempio, scrivere il codice per inserire testo in un controllo NamedRange in Sheet1 quando un utente fa clic su un pulsante nel riquadro azioni, come illustrato nell'esempio seguente:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles Button1.Click

    If Globals.Sheet1 IsNot Nothing Then
        Globals.Sheet1.NamedRange1.Value2 = Me.TextBox1.Text
    End If

End Sub
        private void button1_Click(object sender, EventArgs e)
        {
        if (Globals.Sheet1 != null)
            {
                Globals.Sheet1.namedRange1.Value2 = this.textBox1.Text;
            }
        }

Inizializzazione della classe Globals

Il tentativo di utilizzare la classe Globals da parte del codice prima che il documento o il componente aggiuntivo venga inizializzato completamente può generare un'eccezione in fase di esecuzione. L'utilizzo della classe Globals con la dichiarazione di una variabile a livello di classe, ad esempio, può avere esito negativo perché la classe Globals potrebbe non essere inizializzata con i riferimenti a tutti gli elementi host prima della creazione dell'istanza dell'oggetto dichiarato.

Nota:

La classe Globals non viene mai inizializzata in fase di progettazione, ma controlla che nella finestra di progettazione vengano create le istanze. Ciò significa che se si crea un controllo utente che chiama metodi della classe Globals, è necessario scrivere codice per verificare se il metodo restituisce null prima di tentare di accedervi.

Vedere anche

Concetti

Accesso alla barra multifunzione in fase di esecuzione

Accesso a un'area di modulo in fase di esecuzione

Cenni preliminari sugli elementi e sui controlli host

Elementi host di componenti aggiuntivi

Elemento host documento

Elemento host cartella di lavoro

Elemento host foglio di lavoro

Scrittura di codice nelle soluzioni Office