Tutorial: Actualizar un gráfico en un documento utilizando botones de opción
Actualización: noviembre 2007
Se aplica a |
---|
La información de este tema sólo se aplica a los proyectos y versiones especificados de Visual Studio Tools para Office de Microsoft Office. Tipo de proyecto
Versión de Microsoft Office
Para obtener más información, consulte Características disponibles por aplicación y tipo de proyecto. |
En este tutorial se muestra cómo utilizar los botones de opción en una personalización en el nivel del documento para que Microsoft Office Word ofrezca a los usuarios la opción de seleccionar distintos tipos de gráfico en el documento.
Este tutorial ilustra las tareas siguientes:
Agregar un gráfico al documento en un proyecto en el nivel del documento en tiempo de diseño.
Agrupar los botones de opción agregándolos a un control de usuario.
Cambiar el estilo de gráfico cuando se selecciona una opción.
Para considerar el resultado como un ejemplo finalizado, vea Ejemplo Word Controls.
Nota: |
---|
Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice 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 Word 2003 o Microsoft Office Word 2007.
En este tutorial se usan los menús de Word 2003, pero en la cinta de opciones de Word 2007 están disponibles las mismas opciones.
Crear el proyecto
El primer paso es crear el proyecto de documento de Word.
Para crear un nuevo proyecto
Cree un proyecto de documento de Word con el nombre Mis opciones de gráfico. En el asistente, seleccione Crear un nuevo documento. Para obtener más información, consulte Cómo: Crear proyectos de Visual Studio para Office.
Visual Studio abre el nuevo documento de Word en el diseñador y agrega el proyecto Mis opciones de gráfico al Explorador de soluciones.
Agregar un gráfico al documento
En los proyectos de Word 2003, el menú Insertar de la barra de herramientas de Visual Studio contiene los comandos de Word para agregar un gráfico.
Para agregar un gráfico
En el menú Insertar, haga clic en Objeto.
Se abrirá el cuadro de diálogo Objeto.
Nota: Si el menú Insertar no es visible, primero deberá hacer clic dentro del documento para que tenga el foco. Para obtener más información, vea Menús de Office en el entorno de Visual Studio.
En la lista Tipo de objeto de la ficha Crear nuevo, seleccione Gráfico de Microsoft Graph y, a continuación, haga clic en Aceptar.
Se agrega un gráfico al documento en el punto de inserción y aparece la ventana Hoja de datos con algunos datos predeterminados.
Cierre la ventana Hoja de datos para aceptar los valores predeterminados del gráfico y haga clic dentro del documento para mover el foco fuera del gráfico.
Haga clic con el botón secundario en el gráfico y, a continuación, haga clic en Formato de objeto.
En la ficha Diseño del cuadro de diálogo Formato de objeto, seleccione Cuadrado y haga clic en Aceptar.
Agregar un control de usuario al proyecto
De forma predeterminada, los botones de opción de un documento no se excluyen mutuamente. Puede hacer que funcionen correctamente agregándolos a un control de usuario y escribiendo a continuación el código para controlar la selección.
Para agregar un control de usuario
Seleccione el proyecto Mis opciones de gráfico en el Explorador de soluciones.
En el menú Proyecto, haga clic en Agregar nuevo elemento.
En el cuadro de diálogo Agregar nuevo elemento, haga clic en Control de usuario, asigne al control el nombre ChartOptions y haga clic en Agregar.
Para agregar controles de formularios Windows Forms al control de usuario
Si el control de usuario no está visible en el diseñador, haga doble clic en ChartOptions en el Explorador de soluciones.
Desde la ficha Controles comunes del Cuadro de herramientas, arrastre el primer control RadioButton hasta el control de usuario y cambie las siguientes propiedades.
Propiedad
Valor
Nombre
columnChart
Texto
Column Chart
Agregue un segundo control RadioButton al control de usuario y cambie las siguientes propiedades.
Propiedad
Valor
Nombre
barChart
Texto
Bar Chart
Agregue un tercer control RadioButton al control de usuario y cambie las siguientes propiedades.
Propiedad
Valor
Nombre
lineChart
Texto
Line Chart
Agregue un cuarto control RadioButton al control de usuario y cambie las siguientes propiedades.
Propiedad
Valor
Nombre
areaBlockChart
Texto
Area Block Chart
Agregar referencias
Para tener acceso al gráfico desde el control de usuario en un documento, debe tener una referencia a la Biblioteca de objetos de Microsoft Graph 11.0 en el proyecto.
Para agregar una referencia a la Biblioteca de objetos de Microsoft Graph 11.0
Haga clic en la opción Agregar referencia del menú Proyecto.
Aparecerá el cuadro de diálogo Agregar referencia.
Haga clic en la ficha COM.
Seleccione la Biblioteca de objetos de Microsoft Graph 11.0 de la lista Nombre de componente y luego haga clic en Aceptar.
Cambiar el estilo del gráfico cuando se selecciona un botón de opción
Para que los botones funcionen correctamente, cree un evento público en el control de usuario, agregue una propiedad para establecer el tipo de selección y cree un procedimiento para el evento CheckedChanged de cada uno de los botones de opción.
Para crear un evento y una propiedad en un control de usuario
En el Explorador de soluciones, haga clic con el botón secundario en el control de usuario y, a continuación, haga clic en Ver código.
Agregue código para crear un evento SelectionChanged y la propiedad Selection a la clase ChartOptions.
Public Event SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Private selectedType As Microsoft.Office.Interop.Graph.XlChartType = _ Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered Public Property Selection() As Microsoft.Office.Interop.Graph.XlChartType Get Return Me.selectedType End Get Set(ByVal value As Microsoft.Office.Interop.Graph.XlChartType) Me.selectedType = value End Set End Property
public event EventHandler SelectionChanged; private Microsoft.Office.Interop.Graph.XlChartType selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered; public Microsoft.Office.Interop.Graph.XlChartType Selection { get { return this.selectedType; } set { this.selectedType = value; } }
Para controlar el evento CheckedChange de los botones de opción
Establezca el tipo de gráfico en el controlador de eventos CheckedChanged del botón de opción areaBlockChart y después provoque el evento.
Private Sub areaBlockChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles areaBlockChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlAreaStacked RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void areaBlockChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlAreaStacked; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
Establezca el tipo de gráfico en el controlador de eventos CheckedChanged del botón de opción barChart.
Private Sub barChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles barChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlBarClustered RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void barChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlBarClustered; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
Establezca el tipo de gráfico en el controlador de eventos CheckedChanged del botón de opción columnChart.
Private Sub columnChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles columnChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void columnChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
Establezca el tipo de gráfico en el controlador de eventos CheckedChanged del botón de opción lineChart.
Private Sub lineChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles lineChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlLineMarkers RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void lineChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlLineMarkers; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
En C#, debe agregar controladores de eventos para los botones de opción. Puede agregar el código al constructor ChartOptions, bajo la llamada a InitializeComponent. Para obtener más información sobre cómo crear controladores de eventos, vea Cómo: Crear controladores de eventos en Visual Studio Tools para Office.
public ChartOptions() { InitializeComponent(); areaBlockChart.CheckedChanged += new EventHandler(areaBlockChart_CheckedChanged); barChart.CheckedChanged += new EventHandler(barChart_CheckedChanged); columnChart.CheckedChanged += new EventHandler(columnChart_CheckedChanged); lineChart.CheckedChanged += new EventHandler(lineChart_CheckedChanged); }
Agregar el control de usuario al documento
Cuando genera la solución, el nuevo control de usuario se agrega automáticamente al Cuadro de herramientas. Puede arrastrar el control desde el Cuadro de herramientas al documento.
Para agregar el control de usuario al documento
En el menú Generar, haga clic en Generar solución.
El control de usuario ChartOptions se agrega al Cuadro de herramientas.
En el Explorador de soluciones, haga clic con el botón secundario en ThisDocument.vb o en ThisDocument.cs y, a continuación, haga clic en Diseñador de vistas.
Arrastre el control ChartOptions desde el Cuadro de herramientas hasta el documento.
Se agregará al proyecto un nuevo control con el nombre ChartOptions1.
Cambiar el tipo de gráfico
Cree un controlador de eventos para cambiar el tipo de gráfico según la opción que está seleccionada en el control de usuario.
Para cambiar el tipo de gráfico que se muestra en el documento
Agregue el siguiente controlador de eventos a la clase ThisDocument.
Private Sub ChartOptions1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles ChartOptions1.SelectionChanged Try 'first object is the runtime storage control Dim index As Object = 2 Dim shape As Word.Shape = Me.Shapes.Item(index) 'Activate the shape shape.Activate() Dim dataChart As Graph.Chart = CType(shape.OLEFormat.Object, Graph.Chart) dataChart.ChartType = Me.ChartOptions1.Selection 'Deactivate the shape Me.ChartOptions1.Select() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub
private void ChartOptions1_SelectionChanged(object sender, EventArgs e) { try { //first object is the runtime storage control object index = 2; Word.Shape shape = this.Shapes.get_Item(ref index); //Activate the shape shape.Activate(); Microsoft.Office.Interop.Graph.Chart dataChart = (Microsoft.Office.Interop.Graph.Chart)shape.OLEFormat.Object; dataChart.ChartType = this.ChartOptions1.Selection; //Deactivate the shape this.ChartOptions1.Select(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
En C#, debe agregar un controlador de eventos para el control de usuario al evento Startup.
this.ChartOptions1.SelectionChanged += new EventHandler(ChartOptions1_SelectionChanged);
Probar la aplicación
Ahora puede probar el documento para asegurarse de que el estilo de gráfico se actualiza correctamente al seleccionar un botón de opción.
Para probar el documento
Presione F5 para ejecutar el proyecto.
Seleccione distintos botones de opción.
Confirme que el estilo de gráfico cambia y coincide con la selección.
Pasos siguientes
Éstas son algunas de las tareas que pueden venir a continuación:
Utilizar un botón para rellenar un cuadro de texto. Para obtener más información, vea Tutorial: Mostrar texto en un cuadro de texto en un documento utilizando un botón.
Cambiar el formato seleccionando un estilo en un cuadro combinado. Para obtener más información, vea Tutorial: Cambiar el formato de un documento utilizando controles CheckBox.
Vea también
Conceptos
Utilizar controles de formularios Windows Forms en documentos de Word.
Limitaciones de los controles de formularios Windows Forms en los documentos de Office