Compartir a través de


Acceso global a objetos en proyectos de Office

Al crear un proyecto de Office, Visual Studio genera automáticamente una clase denominada Globals en el proyecto. Puede usar la Globals clase para acceder a varios elementos de proyecto diferentes en tiempo de ejecución desde cualquier código del proyecto.

Se aplica a: La información de este tema se aplica a proyectos de nivel de documento y proyectos de complementos de VSTO. Consulte Características disponibles por aplicación de Office y tipo de proyecto.

Cómo usar la clase Globals

Globals es una clase estática que mantiene las referencias a determinados elementos del proyecto. Mediante la Globals clase , puede acceder a los siguientes elementos desde cualquier código del proyecto en tiempo de ejecución:

  • Clases ThisWorkbook y Sheetn en un proyecto de plantilla o libro de Excel. Puede acceder a estos objetos mediante las Globals.ThisWorkbook propiedades y Sheetn .

  • Clase ThisDocument de un proyecto de plantilla o documento de Word. Puede acceder a este objeto mediante la Globals.ThisDocument propiedad .

  • Clase ThisAddIn en un proyecto de complemento de VSTO. Puede acceder a este objeto mediante la Globals.ThisAddIn propiedad .

  • Todas las cintas de opciones del proyecto que usted ha personalizado utilizando el Diseñador de cintas de opciones. Puede acceder a las cintas mediante la propiedad Globals.Ribbons. Para obtener más información, consulte Acceso a la cinta de opciones en tiempo de ejecución.

  • Todas las áreas del formulario de Outlook en un proyecto de complemento VSTO de Outlook. Puede acceder a las áreas del formulario mediante la Globals.FormRegions propiedad . Para obtener más información, consulte Acceso a un área de formulario en tiempo de ejecución.

  • Objeto de fábrica que permite crear controles de Ribbon y hospedar elementos en tiempo de ejecución en proyectos que tienen como destino .NET Framework 4 o .NET Framework 4.5. Puede acceder a este objeto mediante la Globals.Factory propiedad . Este objeto es una instancia de una clase que implementa una de las interfaces siguientes:

    Por ejemplo, puede usar propiedad Globals.Sheet1 para insertar texto en un control NamedRange en Sheet1 cuando un usuario hace clic en un botón en el panel de acciones de un proyecto de nivel de documento para Excel.

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

El código que intenta usar la Globals clase antes de inicializar el documento o el complemento VSTO podría producir una excepción en tiempo de ejecución. Por ejemplo, el uso Globals de al declarar una variable de nivel de clase podría producir un error porque es posible que la Globals clase no se inicialice con referencias a todos los elementos host antes de que se cree una instancia del objeto declarado.

Nota:

La Globals clase nunca se inicializa en tiempo de diseño, pero el diseñador crea instancias de control. Esto significa que si crea un control de usuario que usa una propiedad de la Globals clase desde dentro de una clase de control de usuario, debe comprobar si la propiedad devuelve null antes de intentar usar el objeto devuelto.