Condividi tramite


Accesso globale a oggetti nei progetti di Office

Quando si crea un progetto di Office, Visual Studio genera automaticamente una classe denominata Globals nel progetto. È possibile utilizzare la classe Globals per accedere a diversi elementi del progetto in fase di esecuzione da qualsiasi codice nel progetto.

Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di documento e di applicazione per Microsoft Office 2010 e Microsoft Office System 2007. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.

Come utilizzare la classe Globals

Globals è una classe statica che mantiene i riferimenti ad alcuni elementi del progetto. Tramite la classe Globals è possibile accedere ai seguenti elementi da qualsiasi codice del progetto in fase di esecuzione:

  • Le classi ThisWorkbook e Sheetn in un progetto di modello o in una cartella di lavoro di Excel. È possibile accedere a questi oggetti tramite le proprietà Globals.ThisWorkbook e Sheetn.

  • La classe ThisDocument in un documento o un progetto di modello di Word. È possibile accedere a questo oggetto tramite la proprietà Globals.ThisDocument.

  • La classe ThisAddIn in un progetto a livello di applicazione. È possibile accedere a questo oggetto tramite la proprietà Globals.ThisAddIn.

  • Tutte le barre multifunzione del progetto che sono state personalizzate utilizzando Finestra di progettazione della barra multifunzione. È possibile accedere alle barre multifunzione tramite la proprietà Globals.Ribbons. Per ulteriori informazioni, vedere Accesso alla barra multifunzione in fase di esecuzione.

  • Tutte le aree di modulo di Outlook in un progetto di componente aggiuntivo per Outlook. È possibile accedere alle aree del modulo tramite la proprietà Globals.FormRegions. Per ulteriori informazioni, vedere Accesso a un'area del modulo in fase di esecuzione.

  • Oggetto factory che consente di creare controlli, smart tag ed elementi host della barra multifunzione in fase di esecuzione nei progetti destinati a .NET Framework 4. È possibile accedere a questo oggetto tramite la proprietà Globals.Factory. Questo oggetto è un'istanza di una classe che implementa una delle interfacce seguenti:

    Nota

    Gli smart tag sono deprecati in Excel 2010 e Word 2010. Per ulteriori informazioni, vedere Cenni preliminari sugli smart tag.

    Nota

    La proprietà Factory è disponibile unicamente per i progetti destinati a .NET Framework 4. I progetti destinati a .NET Framework 3.5 utilizzano altri metodi per creare controlli, smart tag ed elementi host della barra multifunzione in fase di esecuzione.

Ad esempio, è possibile utilizzare la proprietà Globals.Sheet1 per inserire il testo in un controllo NamedRange in Sheet1 quando un utente fa clic su un pulsante nel riquadro azioni in un progetto a livello di documento per Excel.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles Button1.Click
    Globals.Sheet1.NamedRange1.Value2 = Me.TextBox1.Text
End Sub
private void button1_Click(object sender, EventArgs e)
{
    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 utilizza una proprietà della classe Globals dall'interno di una classe di controlli utente, è necessario verificare se la proprietà restituisce null prima di tentare di utilizzare l'oggetto restituito.

Vedere anche

Concetti

Accesso alla barra multifunzione in fase di esecuzione

Accesso a un'area del modulo in fase di esecuzione

Cenni preliminari sugli elementi e sui controlli host

Elemento host documento

Elemento host cartella di lavoro

Elemento host foglio di lavoro

Scrittura di codice nelle soluzioni Office

Cronologia delle modifiche

Data

Cronologia

Motivo

Maggio 2010

Chiariti alcuni dettagli.

Miglioramento delle informazioni.