Tutorial: Automatizar 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 está en el panel de tareas personalizado.
Se aplica a: la información de este tema se aplica a los proyectos de nivel de aplicación para las siguientes aplicaciones: Excel 2007 y Excel 2010; InfoPath 2007 e InfoPath 2010; Outlook 2007 y Outlook 2010; PowerPoint 2007 y PowerPoint 2010; Word 2007 y Word 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.
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.
En este tutorial se muestran 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 Trabajar con valores de configuración.
Requisitos previos
Necesita los componentes siguientes para completar este tutorial:
-
Una edición de Visual Studio 2010 que incluye las herramientas para desarrolladores de Microsoft Office. Para obtener más información, vea [Configurar un equipo para desarrollar soluciones de Office](bb398242\(v=vs.100\).md).
- Microsoft Office PowerPoint 2007 o Microsoft PowerPoint 2010.
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 denominado MyAddIn mediante 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 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 un objeto Shape como miembro de MyUserControl. En el paso siguiente, utilizará 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 de una aplicación diferente 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
Administrar paneles de tareas personalizados en varias ventanas de la aplicación
Otros recursos
Información general sobre los paneles de tareas personalizados