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
Aplicación de Microsoft Office
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
En el menú Proyecto, haga clic en Agregar control de usuario.
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.
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
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.
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;
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;
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()); } }
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
En el Explorador de soluciones, expanda PowerPoint.
Haga clic con el botón secundario del mouse en ThisAddIn.cs o ThisAddIn.vb, y haga clic en Ver código.
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;
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
Presione F5 para ejecutar el proyecto.
Confirme que el panel de tareas personalizado está visible.
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:
Crear un panel de tareas personalizado en un complemento para otra aplicación en la versión 2007 de Microsoft Office System. Para obtener más información sobre las aplicaciones que admiten paneles de tareas personalizados, vea Información general sobre los paneles de tareas personalizados.
Crear un botón Ribbon que se puede utilizar para ocultar o mostrar un panel de tareas personalizado. Para obtener más información, consulte Tutorial: Sincronizar un panel de tareas personalizado con un botón de la cinta de opciones.
Crear un panel de tareas personalizado para cada mensaje de correo electrónico que se abre en Outlook. Para obtener más información, vea Tutorial: Mostrar paneles de tareas personalizados con mensajes de correo electrónico en Outlook.
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