Importar gráficos de Mekko Graphics

Importe cómodamente gráficos de Mekko Graphics y sus datos a thinkcell.

Importar gráficos de Mekko a thinkcell

La herramienta Import Mekko Graphics to thinkcell convierte los gráficos de Mekko Graphics en gráficos de thinkcell. No es necesario instalar Mekko Graphics para utilizar la herramienta de importador.

Para importar gráficos de Mekko Graphics a thinkcell, siga estos pasos:

  1. En PowerPoint, primero seleccione uno o más gráficos Mekko Graphics de una diapositiva o seleccione diapositivas que contengan gráficos Mekko Graphics.
  2. En la cinta, seleccione thinkcell > Elements > Tools icono menú Herramientas > Import Mekko Graphics to thinkcell o Insert > thinkcell > Tools icono menú Herramientas > Import Mekko Graphics to thinkcell.

Una vez seleccionado Import Mekko Graphics to thinkcell, thinkcell sustituye los gráficos de Mekko Graphics que seleccionó por gráficos thinkcell. El resto del contenido de la diapositiva sigue siendo el mismo. Después de cada diapositiva en la que sustituyó los gráficos de Mekko Graphics, thinkcell inserta una diapositiva de respaldo con los gráficos originales de Mekko Graphics.

Puede importar la mayoría de los gráficos de Mekko Graphics a thinkcell, con las siguientes excepciones:

  • Diagramas de Gantt, barra flotante y barra flotante horizontal
  • Otros elementos gráficos de Mekko Graphics, como las Harvey Balls

Si no se puede importar un gráfico o elemento de Mekko Graphics, thinkcell muestra un mensaje.

Importar gráficos con filas o columnas de datos

Si un gráfico de Mekko Graphics tiene filas o columnas de datos, thinkcell importa ese gráfico como un gráfico de thinkcell con una tabla de datos (consulte Gráficos con tablas de datos). Los gráficos de Mekko Graphics pueden representar los mismos datos tanto en la tabla de datos como en el gráfico. thinkcell actualmente no admite representar los mismos datos tanto en la tabla de datos como en el gráfico. Si un gráfico de Mekko Graphics representa los mismos datos tanto en la tabla de datos como en el gráfico, thinkcell importará ese gráfico sin una tabla de datos.

Estilo y formato de gráficos importados

thinkcell no importa el estilo y el formato de los gráficos de Mekko Graphics. Sin embargo, después de importar un gráfico de Mekko Graphics, es fácil recrear el estilo y el formato del gráfico en thinkcell.

Estilo de los gráficos

Cuando thinkcell importa un gráfico de Mekko Graphics, el gráfico importado adopta el estilo y el formato del archivo de estilos de thinkcell activo (consulte Configurar los archivos de estilos de thinkcell). Puede aplicar formato y estilo a los gráficos importados como cualquier otro gráfico de thinkcell (consulte Gráficos de estilo y formato).

La siguiente imagen muestra cómo utilizar el menú contextual del gráfico para agregar un eje Y a un gráfico importado.

Use thinkcell's context menu to add axis

Formato de números

La mayor parte del formato de número en los gráficos de Mekko Graphics no se importa a los gráficos de thinkcell. Puede cambiar fácilmente el formato de los números en thinkcell (consulte Formato de etiquetas de gráfico).

La siguiente imagen muestra cómo utilizar la minibarra de herramientas para aplicar el formato de número de moneda del gráfico original de Mekko Graphics al gráfico importado.

Recomendamos comparar los gráficos de Mekko Graphics y los gráficos importados para garantizar que sean coherentes entre sí. Cambie entre las diapositivas originales y de copia de seguridad para comparar y realizar los cambios necesarios en los gráficos importados. Cuando esté satisfecho con los gráficos importados, puede eliminar las diapositivas de copia de seguridad.

Editar datos de gráfico importados

thinkcell importa los datos de un gráfico de Mekko Graphics a la hoja de datos del gráfico importado. Puede editar los datos de un gráfico importado como los de cualquier otro gráfico de thinkcell (consulte Introducción a las hojas de datos de elementos).

Mostrar series o categorías ocultas

thinkcell importa los datos de series o categorías ocultas en un gráfico de Mekko Graphics como filas o columnas ocultas en la hoja de datos del gráfico importado. Para mostrar series o categorías ocultas en el gráfico importado, seleccione las columnas o filas que contienen los datos ocultos en la hoja de datos del gráfico, haga clic con el botón derecho en la selección y seleccione Unhide. Para obtener más información, consulte Soporte de Microsoft.

Automatizar el proceso de importación

Solo Windows

En Windows, se pueden utilizar las funciones API de thinkcell para importar mediante programación gráficos Mekko Graphics a thinkcell o inspeccionarlos. ImportMekkoGraphicsCharts sustituye los gráficos de Mekko Graphics por gráficos de thinkcell. GetMekkoGraphicsXML extrae la definición XML de un gráfico de Mekko Graphics.

ImportMekkoGraphicsCharts

Descripción

Esta función sustituye todos los gráficos de Mekko Graphics de la matriz de formas que le ha pasado con un gráfico de thinkcell equivalente. Todas las formas deben estar en la misma diapositiva. Antes de modificar la diapositiva, la función hará una copia de la diapositiva sin modificar y la insertará directamente después de la versión modificada.

Si la diapositiva no se modificó, por ejemplo porque la matriz no contenía ningún gráfico de Mekko Graphics, devuelve la función Nothing/null. De lo contrario, la función devuelve una referencia a la copia no modificada de la diapositiva.

VBA

Signatura
tcPpAddIn.ImportMekkoGraphicsCharts ( _
    ashp As PowerPoint.Shape() _
) As PowerPoint.Slide
Ejemplo

Para utilizar este ejemplo, añádalo a un módulo en PowerPoint. Consulte Visual Basic para Aplicaciones para obtener más información.

Ejecutar ImportAll en una presentación, recorrerá las diapositivas de la presentación y sustituirá todos los gráficos visibles de Mekko Graphics por gráficos equivalentes de thinkcell, haciendo una copia de cada diapositiva que contenga uno antes de modificarla.

Option Explicit

Sub ImportAll()

    ' Get reference to thinkcell Object

    Dim tcPpAddIn As Object
    Set tcPpAddIn = Application.COMAddIns("thinkcell.addin").Object

    ' Iterate over copy of original Slides to avoid
    ' iterating over copies inserted by ImportMekkoGraphicsCharts again

    Dim SlidesCopy As New Collection
    Dim Slide As PowerPoint.Slide
    For Each Slide In ActivePresentation.Slides
        SlidesCopy.Add Slide
    Next Slide
    
    For Each Slide In SlidesCopy
    
        ' Construct Array containing only visible shapes on slide
        
        Dim visibleShapes() As PowerPoint.Shape
        ReDim visibleShapes(1 To Slide.Shapes.Count)
        Dim shapeIndex As Long
        For shapeIndex = 1 To Slide.Shapes.Count
            If Slide.Shapes(shapeIndex).Visible Then
                Set visibleShapes(shapeIndex) = Slide.Shapes(shapeIndex)
            End If
        Next shapeIndex
        
        ' Pass Array to ImportMekkoGraphics and store return value
        
        Dim CopySlide As PowerPoint.Slide
        Set CopySlide = tcPpAddIn.ImportMekkoGraphicsCharts(visibleShapes)
        
        ' If Slide was modified...
        If Not CopySlide Is Nothing Then
        ' ... do things with copy of unmodified slide
        End If
    Next Slide
End Sub

C#

Signatura
PowerPoint.Slide tcPpAddIn.ImportMekkoGraphicsCharts(
    PowerPoint.Shape[] ashp
);
Ejemplo

Para usar este ejemplo, en la plantilla de proyecto PowerPoint VSTO Add-in C#, agregue este método a la clase ThisAddIn. Consulte C# y Desarrollo de complementos para obtener más información.

private void ImportAll(PowerPoint.Presentation presentation)
    {
        var tcPpAddIn = presentation.Application.COMAddIns.Item("thinkcell.addin").Object;
        foreach (PowerPoint.Slide slide in presentation.Slides.Cast<PowerPoint.Slide>().ToList())
        {
            PowerPoint.Slide slideCopy = tcPpAddIn.ImportMekkoGraphicsCharts(
                slide.Shapes.Cast<PowerPoint.Shape>().ToArray()
            );
        }
    }

Añada la siguiente línea al método ThisAddIn_Startup para que se ejecute ImportAll en cada presentación que se abra:

Application.PresentationOpen += new PowerPoint.EApplication_PresentationOpenEventHandler(ImportAll);

GetMekkoGraphicsXML

Descripción

Esta función devuelve el código XML de los gráficos de Mekko Graphics en shp como una cadena. Esto no modifica la forma que se le pasa.

Si shp no es un gráfico de Mekko Graphics, se produce un error de E_INVALIDARG (0x80070057).

VBA

Signatura
tcPpAddIn.GetMekkoGraphicsXML ( _
    shp As PowerPoint.Shape _
) As String
Ejemplo

Para utilizar este ejemplo, añada el siguiente código a un módulo en PowerPoint. Consulte Visual Basic para Aplicaciones para obtener más información.

Option Explicit

Sub GetMekkoGraphicsXMLOfAllShapes()

    ' Get reference to thinkcell Object

    Dim tcPpAddIn As Object
    Set tcPpAddIn = Application.COMAddIns("thinkcell.addin").Object

    ' Go through the slides in the presentation and
    ' output the XML of each Mekko Graphics chart on the slide
    ' to the debug console

    Dim slide As PowerPoint.slide
    For Each slide In Application.ActivePresentation.Slides
        Dim shape As PowerPoint.shape
        For Each shape In slide.Shapes
            On Error Resume Next ' skip over shapes that are not Mekko Graphics charts
            Debug.Print tcPpAddIn.GetMekkoGraphicsXML(shape)
        Next shape
    Next slide
End Sub

C#

Signatura
string tcPpAddIn.GetMekkoGraphicsXML(
    PowerPoint.Shape shp
);
Ejemplo

Para utilizar este ejemplo, sustituya el código Program.cs de una Console App por el ejemplo.

La muestra requiere referencias a Microsoft PowerPoint 16.0 Object Library y Microsoft Office 16.0 Object Library (consulte C# para obtener más detalles).

La ejecución de la aplicación recorrerá la presentación en C:\Samples\GetMekkoGraphicsXML\presentation.pptx e imprimirá en la consola el XML de los gráficos de Mekko Graphics contenidos en ella.

using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Office = Microsoft.Office.Core;

namespace Sample
{
    class Program
    {
        static void Main()
        {
            var ppapp = new PowerPoint.Application();
            var presentation = ppapp.Presentations.Open(
                "C:\\Samples\\GetMekkoGraphicsXML\\presentation.pptx",
                /*ReadOnly*/Office.MsoTriState.msoTrue,
                /*Untitled*/Office.MsoTriState.msoTrue,
                /*WithWindow*/Office.MsoTriState.msoFalse
            );

            var tcPpAddIn = ppapp.COMAddIns.Item("thinkcell.addin").Object;
            foreach (PowerPoint.Slide slide in presentation.Slides)
            {
                foreach (PowerPoint.Shape shape in slide.Shapes)
                {
                    string xml = tcPpAddIn.GetMekkoGraphicsXML(shape);
                    Console.WriteLine(xml);
                }
            }

            presentation.Close();
            ppapp.Quit();
        }
    }
}

¿Necesitas solucionar un problema?

Consulta nuestra base de conocimientos