Agregar un gráfico a un documento de Microsoft con Office Web Components

  • Harry James
  • 0
  • 2183
  • 327
Anuncio

¿No es sorprendente cómo algo tan simple como crear un gráfico puede parecer tan complicado a veces? Ya sea que esté utilizando Excel, Word, Powerpoint o Access, a veces sería bueno simplemente insertar un gráfico rápido con un montón de datos sin tener que hacer una gran cantidad de configuración y desorden..

En este artículo, le mostraré cómo usar un objeto VBA realmente conveniente y simple de Microsoft Office Web Components que le permite insertar un Gráfico directamente en un documento, presentación o cualquier otra cosa donde pueda crear código VBA para ejecutarlo. Esto también puede incluir productos que no son de Microsoft que tienen un back-end VBA, lo que muchos sí.

En este ejemplo, le mostraré cómo habilitar el modo de diseño en su programa (en este caso, usaremos Microsoft Word), incrustar el objeto gráfico en su proyecto y luego cómo escribir el código que lo llena con datos.

En algunos de mis artículos anteriores de VBA, algunos de ustedes mencionaron que la tarea en cuestión era demasiado complicada para cualquiera que nunca haya escrito código antes. Espero que después de leer este artículo, esté motivado para probar suerte con VBA. El código incluido aquí es muy sencillo y sencillo de escribir. Incrustar esta tabla es una excelente manera de ensuciarse las manos con VBA si nunca lo ha probado antes.

Si conoce VBA, esta es una gran herramienta para comenzar a incorporar gráficos rápidos en sus proyectos con mucho menos esfuerzo que nunca..

Habilitar el modo de diseño

En este ejemplo, quería armar un documento rápido con un gráfico incrustado que muestre datos del mes actual de mi presupuesto, así como el promedio mensual de gastos del año hasta la fecha.

En este ejemplo, voy a colocar esos valores codificados en un “formación” directamente dentro del código VBA, pero en última instancia puede usar una variedad de técnicas para cargar esas variables de matriz (una matriz es simplemente una variable que contiene una lista de valores) de otras fuentes, como una hoja de cálculo externa, o incluso un formulario donde ingrese los valores en cada mes manualmente.

Para aprender cómo importar datos a Word desde Excel, consulte mi artículo Cómo integrar datos de Excel en un documento de Word Cómo integrar datos de Excel en un documento de Word Durante su semana laboral, probablemente haya muchas veces que se encuentre copiando y pegar información de Excel en Word, o al revés. Así es como las personas a menudo producen informes escritos ... sobre el tema. A los efectos de este artículo, nos centraremos en crear el gráfico para mostrar datos.

Ahora que comencé mi documento, quiero ingresar al código. En Word o Excel, haga esto haciendo clic en “Expediente”, “Opciones” y luego haga clic en la opción Personalizar la cinta de opciones. En el lado derecho de las opciones, verá el “Personaliza la cinta” columna, y en el “Pestañas principales” campo que deberías ver “Desarrollador” desenfrenado. Marca esa casilla.

De vuelta en su documento, ahora debería ver el “Desarrollador” elemento de menú disponible. Dentro de este menú, encontrará el “Modo de diseño” botón.

Haga clic en Modo de diseño y luego haga clic en ese icono de carpeta / herramientas para “Herramientas heredadas”, y luego, en la esquina inferior derecha del cuadro emergente, en Controles ActiveX, haga clic en el “Más controles” botón.

Desplácese hacia abajo en la lista de controles disponibles hasta llegar a “Microsoft Office Chart xx.x”. Si tiene Microsoft Office instalado en su computadora, entonces este control probablemente estará disponible.

Una vez que inserte el control en su documento, verá que aparece como un cuadro que dice “Componentes web de Microsoft Office” dentro. Este es esencialmente su gráfico vacío, listo para mostrar sus datos.

El siguiente paso es escribir el código que configurará su tipo de gráfico y mostrar los datos. Si desea que el proceso sea manual, podría colocar un botón en el documento que cargaría los datos en el gráfico, pero en mi caso quería que todo se automatizara por completo. En el momento en que abro el documento, quería que ejecutara el script que carga el gráfico, para que pueda hacer esto en el código (haga clic en el botón de Visual Basic para acceder al editor de código), y seleccione el Objeto del documento, y el “Abierto” evento.

Esto colocará automáticamente una función vacía llamada “Document_Open ()” en tu código. Dentro de esa función, desea pegar el siguiente código.

Subdocumento privado_Abierto ()  Dim i As Integer  Dim oChart  Dim oSeries1  Dim oSeries2  'Crear matrices para los valores x y los valores y  Dim xValues ​​As Variant, yValues1 As Variant, yValues2 As Variant  xValues ​​= Array ("Factura de electricidad", "Hipoteca", "Factura de teléfono", _  "Factura de calefacción", "Comestibles", _  "Gasolina", "Ropa", "Compras")  yValues1 = Array (124.53, 1250.24, 45.43, 253.54, 143.32, 259.85, 102.5, _  569,94)  yValues2 = Array (110, 1250, 50, 200, 130, 274, 95, _  300)
 

Esta sección de código crea tres matrices. El primero (xValues) es básicamente su lista de descripciones del eje x para cada elemento de datos. En mi caso, estoy creando un gráfico de barras de columna con yValues1, pero también puede crear un gráfico lineal. Te mostraré cómo hacer eso con yValues2. Ahora pegue el siguiente segmento de código también.

 Con ThisDocument.ChartSpace1  .Claro  .Refrescar  Establecer oChart = .Charts.Add  oChart.HasTitle = True  oChart.Title.Caption = "Números de presupuesto mensual versus promedio"
 

Esta sección de código crea realmente crea el gráfico dentro de su “espacio de cartas” envase. Su gráfico no tiene datos en este momento, pero con un par de comandos puede establecer el título del gráfico, así como el título. Ahora es el momento de agregar los datos. Pegue el siguiente código debajo del código que ya ha pegado para hacerlo.

Establecer oSeries1 = oChart.SeriesCollection.Add  Con oSeries1  .Título = "Este mes"  .SetData chDimCategories, chDataLiteral, xValues  .SetData chDimValues, chDataLiteral, yValues1  .Tipo = chChartTypeColumnClustered  Terminar con  'Agregue otra serie al gráfico con los valores x y los valores y  'de las matrices y establezca el tipo de serie en un gráfico de líneas  Establecer oSeries = oChart.SeriesCollection.Add  Con oSeries  .Título = "Gasto promedio"  .SetData chDimCategories, chDataLiteral, xValues  .SetData chDimValues, chDataLiteral, yValues2  .Tipo = chChartTypeLineMarkers  Terminar con

El código anterior crea dos series para mostrar en su gráfico. La primera serie configura los datos para mostrar dentro del objeto gráfico como un “Columna Clustered” formato, y la segunda serie está configurada para mostrarse como “TypeLineMarkers” formato. Esto mostrará ambos conjuntos de valores en el mismo gráfico, pero usará diferentes tipos de gráficos, lo que en realidad puede ser una forma muy genial de mostrar y comparar múltiples conjuntos de datos.

Ahora que se agregaron los datos, todo lo que queda es ordenar el eje y terminar los detalles del gráfico.

 'Formatear los ejes de valor
 oChart.Axes (chAxisPositionLeft) .NumberFormat = "$ #, ## 0"  oChart.Axes (chAxisPositionLeft) .MajorUnit = 1000  'Mostrar la leyenda en la parte inferior del gráfico  oChart.HasLegend = True  oChart.Legend.Position = chLegendPositionBottom
 Terminar con
End Sub

El código anterior formatea los números en el eje izquierdo para mostrarlos en formato numérico en dólares. La siguiente línea configura el límite máximo del eje vertical. Como sé que los artículos individuales no superarán los $ 1000, eso es lo que establezco como límite máximo del eje y en.

Guarde el documento, ciérrelo, vuelva a abrirlo y listo, aparece su gráfico, cargado automáticamente con los datos de sus dos matrices..

Ahora que sabe cómo insertar los gráficos y cargar datos automáticamente en ellos, solo piense en las posibilidades. Todo lo que tiene que hacer es ingresar los datos externos en esos arreglos, tal vez una hoja de cálculo de Excel, tal vez una base de datos de Access o cualquier otra cosa, y de repente este documento se convierte en una ventana muy dinámica y valiosa en los datos almacenados.

Esto es solo la punta del iceburg con los objetos de MS Office Web Components. Comencé con los gráficos porque encuentro que esa característica es la más emocionante. Agregar gráficos a cualquier aplicación de VBA que desee con un script muy breve es muy útil y muy potente..

Si te gustan los gráficos, ¿por qué no pruebas este objeto gráfico? ¿Conoces otros objetos útiles de gráficos para VBA? ¿Cómo incrustar datos en sus aplicaciones? Comparta sus pensamientos y experiencias en la sección de comentarios a continuación..

Crédito de la imagen: Gráfico de barras de Tablet Finance a través de Shutterstock




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.