Accès global aux objets dans les projets OfficeGlobal access to objects in Office projects

Lorsque vous créez un projet Office, Visual Studio génère automatiquement une classe nommée Globals dans le projet.When you create an Office project, Visual Studio automatically generates a class named Globals in the project. Vous pouvez utiliser la classe Globals pour accéder à plusieurs éléments de projet différents au moment de l'exécution à partir du code du projet.You can use the Globals class to access several different project items at run time from any code in the project.

S’applique à : Les informations contenues dans cette rubrique s’applique au document-projets et ajouter de VSTO de niveau-dans les projets.Applies to: The information in this topic applies to document-level projects and VSTO Add-in projects. Consultez fonctionnalités disponibles par type d’application et de projet Office.See Features available by Office application and project type.

Comment utiliser la classe GlobalsHow to use the Globals class

Globals est une classe statique qui conserve les références à certains éléments de votre projet.Globals is a static class that keeps references to certain items in your project. Grâce à la classe Globals , vous pouvez accéder aux éléments suivants à partir de tout code de votre projet au moment de l'exécution :By using the Globals class, you can access the following items from any code in the project at run time:

  • Classes ThisWorkbook et Sheetn dans un projet de modèle ou un classeur Excel.The ThisWorkbook and Sheetn classes in an Excel workbook or template project. Vous pouvez accéder à ces objets à l'aide des propriétés Globals.ThisWorkbook et Sheetn .You can access these objects by using the Globals.ThisWorkbook and Sheetn properties.

  • Classe ThisDocument dans un projet de modèle ou un document Word.The ThisDocument class in a Word document or template project. Vous pouvez accéder à cet objet à l'aide de la propriété Globals.ThisDocument .You can access this object by using the Globals.ThisDocument property.

  • Le ThisAddIn classe dans un projet de complément VSTO.The ThisAddIn class in a VSTO Add-in project. Vous pouvez accéder à cet objet à l'aide de la propriété Globals.ThisAddIn .You can access this object by using the Globals.ThisAddIn property.

  • Tous les rubans de votre projet que vous avez personnalisés en utilisant le Concepteur de ruban.All Ribbons in your project that you customized by using the Ribbon Designer. Vous pouvez accéder aux rubans à l'aide de la propriété Globals.Ribbons .You can access the Ribbons by using the Globals.Ribbons property. Pour plus d’informations, consultez accéder au ruban lors de l’exécution.For more information, see Access the Ribbon at runtime.

  • Toutes les zones de formulaire Outlook dans un projet de complément VSTO Outlook.All Outlook form regions in an Outlook VSTO Add-in project. Vous pouvez accéder aux zones de formulaire à l'aide de la propriété Globals.FormRegions .You can access the form regions by using the Globals.FormRegions property. Pour plus d’informations, consultez accéder à une zone de formulaire lors de l’exécution.For more information, see Access a form region at runtime.

  • Un objet de fabrique qui vous permet de créer des contrôles de ruban et des éléments hôtes au moment de l'exécution dans les projets qui ciblent .NET Framework 4.NET Framework 4 ou .NET Framework 4.5.NET Framework 4.5.A factory object that enables you to create Ribbon controls, and host items at run time in projects that target the .NET Framework 4.NET Framework 4 or the .NET Framework 4.5.NET Framework 4.5. Vous pouvez accéder à cet objet à l'aide de la propriété Globals.Factory .You can access this object by using the Globals.Factory property. Cet objet est une instance d'une classe qui implémente l'une des interfaces suivantes :This object is an instance of a class that implements one the following interfaces:

    Par exemple, vous pouvez utiliser la propriété Globals.Sheet1 pour insérer le texte dans un contrôle NamedRange sur Sheet1 lorsqu'un utilisateur clique sur un bouton du volet Actions dans un projet de niveau document pour Excel.For example, you can use the Globals.Sheet1 property to insert text into a NamedRange control on Sheet1 when a user clicks a button on the actions pane in a document-level project for 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;
    }
    

Initialiser la classe GlobalsInitialize the Globals class

Code qui tente d’utiliser la Globals classe avant l’initialisation du document ou un complément VSTO peut lever une exception au moment de l’exécution.Code that attempts to use the Globals class before the document or VSTO Add-in is initialized might throw a run time exception. Par exemple, l'utilisation de Globals lors de la déclaration d'une variable au niveau de la classe peut échouer, car la classe Globals peut ne pas être initialisée avec des références à tous les éléments hôtes avant l'instanciation de l'objet déclaré.For example, using Globals when declaring a class-level variable might fail because the Globals class might not be initialized with references to all of the host items before the declared object is instantiated.

Note

La classe Globals n'est jamais initialisée au moment du design, mais des instances de contrôle sont créées par le concepteur.The Globals class is never initialized at design time, but control instances are created by the designer. Cela signifie que si vous créez un contrôle utilisateur qui utilise une propriété de la Globals classe à partir d’à l’intérieur d’une classe de contrôle utilisateur, vous devez vérifier si la propriété retourne null avant d’essayer d’utiliser l’objet retourné.This means that if you create a user control that uses a property of the Globals class from inside a user control class, you must check whether the property returns null before you try to use the returned object.

Voir aussiSee also