Compartir a través de


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

Actualización: noviembre 2007

Se aplica a

La información de este tema sólo se aplica a los proyectos especificados de Visual Studio Tools para Office y a las aplicaciones de Microsoft Office.

Tipo de proyecto

  • Proyectos de nivel de aplicación

Aplicación de Microsoft Office

  • Excel 2007

  • InfoPath 2007

  • Outlook 2007

  • PowerPoint 2007

  • Word 2007

Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto.

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 está en el panel de tareas personalizado.

Aunque en este tutorial se usa específicamente PowerPoint, los conceptos que se muestran en el mismo se pueden aplicar a cualquiera de las aplicaciones enumeradas anteriormente.

Este tutorial ilustra las tareas siguientes:

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

  • Automatizar PowerPoint desde el panel de tareas personalizado.

  • Mostrar el panel de tareas personalizado en PowerPoint.

Nota:

Es posible que su 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 tenga y la configuración que esté utilizando determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.

Requisitos previos

Necesita los componentes siguientes para completar este tutorial:

  • Visual Studio Tools para Office (componente opcional de Visual Studio 2008 Professional y Visual Studio Team System).

  • Microsoft Office PowerPoint 2007.

Visual Studio Tools para Office se instala, de forma predeterminada, con las versiones que se enumeran de Visual Studio. Para comprobar si está instalado, consulte Instalar Visual Studio Tools para Office.

Crear el proyecto de complemento

El primer paso es crear el proyecto de complemento para PowerPoint.

Para crear un nuevo proyecto

  • Cree un proyecto de complemento de PowerPoint con el nombre MyAddIn, mediante la plantilla de proyecto de complemento de PowerPoint para Microsoft Office System 2007. Para obtener más información, vea Cómo: Crear proyectos de Visual Studio para Office.

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

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

No existe ningún diseñador visual para los paneles de tareas personalizados, pero puede diseñar un control de usuario con la distribución que desee. 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 por MyUserControl y haga clic en Agregar.

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

  3. En la ficha Controles comunes del Cuadro de herramientas, arrastre un control MonthCalendar hasta el control de usuario.

    Si el control MonthCalendar es más grande que la superficie de diseño del control de usuario, cambie el tamaño de éste para ajustarlo al del control MonthCalendar.

Automatizar PowerPoint desde el panel de tareas personalizado.

La finalidad del complemento es poner una fecha seleccionada en la primera diapositiva de la presentación activa. Utilice 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 el controlador del evento DateChanged.

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

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

    Private TextBox As PowerPoint.Shape
    
    private PowerPoint.Shape textbox;
    
  4. Reemplace el controlador de evento monthCalendar1_DateChanged con el código siguiente. Este código agrega un cuadro de texto a la primera diapositiva en la presentación activa y, a continuación, agrega la fecha seleccionada al cuadro de texto. En este código se utiliza el objeto Globals.ThisAddIn para obtener acceso al modelo de objetos de PowerPoint.

    Private Sub MonthCalendar1_DateChanged( _
        ByVal sender As System.Object, _
        ByVal e As System.Windows.Forms.DateRangeEventArgs) _
        Handles MonthCalendar1.DateChanged
    
        Try
            If TextBox IsNot Nothing Then
                TextBox.Delete()
            End If
    
            Dim Slide As 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 = _
                System.Drawing.Color.DarkViolet.ToArgb()
    
        Catch ex As Exception
            System.Windows.Forms.MessageBox.Show(ex.ToString())
        End Try
    End Sub
    
    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 del mouse en el proyecto MyAddIn y haga clic en Generar. Compruebe si el proyecto se genera sin errores.

Mostrar el panel de tareas personalizado

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

Para mostrar el panel de tareas personalizado

  1. En el Explorador de soluciones, expanda PowerPoint.

  2. Haga clic con el botón secundario del mouse en ThisAddIn.cs o ThisAddIn.vb, y haga clic en Ver código.

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

    Private myUserControl1 As MyUserControl
    Private myCustomTaskPane As Microsoft.Office.Tools.CustomTaskPane
    
    private MyUserControl myUserControl1;
    private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;
    
  4. Reemplace el controlador de evento ThisAddIn_Startup con el código siguiente. 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 Sub ThisAddIn_Startup(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles Me.Startup
    
        myUserControl1 = New MyUserControl
        myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl1, "Calendar")
        myCustomTaskPane.Visible = True
    End Sub
    
    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        myUserControl1 = new MyUserControl();
        myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "Calendar");
        myCustomTaskPane.Visible = true;
    }
    

Probar el complemento

Cuando ejecuta el proyecto, se abre PowerPoint y el complemento presenta el panel de tareas personalizado. Haga clic en el control MonthCalendar para probar el código.

Para probar el complemento

  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 en el panel de tareas.

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

Pasos siguientes

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

Vea también

Tareas

Cómo: Agregar un panel de tareas personalizado a una aplicación

Tutorial: Sincronizar un panel de tareas personalizado con un botón de la cinta de opciones

Tutorial: Mostrar paneles de tareas personalizados con mensajes de correo electrónico en Outlook

Cómo: Mostrar paneles de tareas personalizados con mensajes de correo electrónico en Outlook

Conceptos

Información general sobre los paneles de tareas personalizados

Administrar paneles de tareas personalizados en varias ventanas de la aplicación