Tutorial: Automatización de una aplicación desde un panel de tareas personalizado

En este tutorial se muestra cómo crear un panel de tareas personalizado que automatiza PowerPoint. El panel de tareas personalizado inserta fechas en una diapositiva cuando el usuario hace clic en un control MonthCalendar que se encuentra en el panel de tareas personalizado.

Se aplica a: La información de este tema se aplica a los proyectos de complementos de VSTO para Outlook. Para obtener más información, consulte Características disponibles por aplicación de Office lication y tipo de proyecto.

Aunque este tutorial usa PowerPoint de manera específica, los conceptos que se muestran en el tutorial son aplicables a cualquier aplicación que se muestre arriba.

En este tutorial se muestran las tareas siguientes:

  • Diseño de la interfaz de usuario del panel de tareas personalizado.

  • Automatización de PowerPoint desde el panel de tareas personalizado.

  • Visualización del panel de tareas personalizado en PowerPoint.

Nota:

Es posible que tu equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en las siguientes instrucciones. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para más información, vea Personalizar el IDE de Visual Studio.

Requisitos previos

Necesitará los componentes siguientes para completar este tutorial:

  • Una edición de Visual Studio que incluye las herramientas para desarrolladores de Microsoft Office. Para obtener más información, vea Configurar un equipo para desarrollar soluciones de Office.

  • Microsoft PowerPoint 2010 o PowerPoint 2013 .

Creación del proyecto de complemento

El primer paso es crear un proyecto de complemento de VSTO para PowerPoint.

Para crear un nuevo proyecto

  1. Cree un proyecto de complemento de VSTO de PowerPoint con el nombre MyAddIn, usando la plantilla de proyecto de complemento de PowerPoint. Para obtener más información, vea Cómo: Crear proyectos de Office en Visual Studio.

    Visual Studio abre el archivo de código ThisAddIn.cs o ThisAddIn.vb y agrega el proyecto MyAddIn a Explorador de soluciones.

Diseño de la interfaz de usuario del panel de tareas personalizado

No hay ningún diseñador visual para los paneles de tareas personalizados, pero puede diseñar un control de usuario según sus gustos. Más adelante en este tutorial, agregará el control de usuario al panel de tareas personalizado.

Para diseñar la interfaz de usuario del panel de tareas personalizado

  1. En el menú Proyecto , haga clic en Agregar control de usuario.

  2. En el cuadro de diálogo Agregar nuevo elemento , cambie el nombre del control de usuario a MyUserControly haga clic en Agregar.

    Se abre el control de usuario en el diseñador.

  3. En la pestaña Controles comunes de Cuadro de herramientas, arrastre un control MonthCalendar al control del usuario.

    Si el control MonthCalendar es mayor que la superficie de diseño del control de usuario, cambie el tamaño del control del usuario para ajustar el control MonthCalendar .

Automatizar PowerPoint desde el panel de tareas personalizado

El propósito del complemento de VSTO es poner una fecha seleccionada en la primera diapositiva de la presentación activa. Use el evento DateChanged del control para agregar la fecha seleccionada cada vez que cambie.

Para automatizar PowerPoint desde el panel de tareas personalizado

  1. En el diseñador, haga doble clic en el control MonthCalendar .

    Se abre el archivo MyUserControl.cs o MyUserControl.vb y se crea un controlador de eventos para el evento DateChanged .

  2. Agregue el código siguiente en la parte superior del archivo. Este código crea alias para los Microsoft.Office.Core espacios de nombres y PowerPoint .

    using Office = Microsoft.Office.Core;
    using PowerPoint = Microsoft.Office.Interop.PowerPoint;
    
  3. Agregue el siguiente código a la clase MyUserControl . Este código declara un objeto Shape como miembro de MyUserControl. En el paso siguiente, usará esta forma para agregar un cuadro de texto a una diapositiva de la presentación activa.

    private PowerPoint.Shape textbox;
    
  4. Reemplace el controlador de eventos monthCalendar1_DateChanged por el siguiente código: Este código agrega un cuadro de texto a la primera diapositiva de la presentación activa y luego agrega la fecha seleccionada al cuadro de texto. Este código usa el objeto Globals.ThisAddIn para tener acceso al modelo de objetos de PowerPoint.

    private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
    {
        try
        {
            if (textbox != null)
            {
                textbox.Delete();
            }
    
            PowerPoint.Slide slide =
                Globals.ThisAddIn.Application.ActivePresentation.Slides[1];
            textbox = slide.Shapes.AddTextbox(
                Office.MsoTextOrientation.msoTextOrientationHorizontal,
                50, 100, 600, 50);
            textbox.TextFrame.TextRange.Text = e.Start.ToLongDateString();
            textbox.TextFrame.TextRange.Font.Size = 48;
            textbox.TextFrame.TextRange.Font.Color.RGB =
                 Color.DarkViolet.ToArgb();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }
    
  5. En el Explorador de soluciones, haga clic con el botón secundario en el proyecto MyAddIn y luego haga clic en Crear. Compruebe que el proyecto se compila sin errores.

Mostrar el panel de tareas personalizado

Para mostrar el panel de tareas personalizado cuando se inicia el complemento de VSTO, agregue el control de usuario al panel de tareas en el controlador de eventos Startup del complemento de VSTO.

Para visualizar el panel de tareas personalizado

  1. En el Explorador de soluciones, expanda PowerPoint.

  2. Haga clic con el botón derecho en el archivo ThisAddin.cs o ThisAddin.vb y luego haga clic en Ver código.

  3. Agregue el siguiente código a la clase ThisAddIn . Este código declara instancias de MyUserControl y CustomTaskPane como miembros de la clase ThisAddIn .

    private MyUserControl myUserControl1;
    private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;
    
  4. Reemplace el controlador de eventos ThisAddIn_Startup por el siguiente código: Este código crea un nuevo CustomTaskPane agregando el objeto MyUserControl a la colección CustomTaskPanes . El código también muestra el panel de tareas.

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        myUserControl1 = new MyUserControl();
        myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "Calendar");
        myCustomTaskPane.Visible = true;
    }
    

Probar el complemento

Al ejecutar el proyecto, se abre PowerPoint y el complemento de VSTO muestra el panel de tareas personalizado. Haga clic en el control MonthCalendar para probar el código.

Para probar el complemento de VSTO

  1. Presione F5 para ejecutar el proyecto.

  2. Confirme que el panel de tareas personalizado está visible.

  3. Haga clic en una fecha en el control MonthCalendar del panel de tareas.

    La fecha se inserta en la primera diapositiva de la presentación activa.

Pasos siguientes

En estos temas puede obtener más información sobre cómo crear paneles de tareas personalizados: