Importare grafici Mekko Graphics

Importare comodamente grafici Mekko Graphics e i relativi dati in thinkcell.

Importare grafici Mekko Graphics in thinkcell

Lo strumento Import Mekko Graphics to thinkcell converte i grafici Mekko Graphics in grafici thinkcell. Non è necessario che Mekko Graphics sia installato per utilizzare lo strumento di importazione di thinkcell.

Per importare grafici Mekko Graphics in thinkcell, seguire questi passaggi:

  1. In PowerPoint, selezionare uno o più grafici Mekko Graphics in una diapositiva oppure selezionare le diapositive contenenti grafici Mekko Graphics.
  2. Sulla barra multifunzione, selezionare thinkcell > Elements > Tools Icona Menu strumenti > Import Mekko Graphics to thinkcell o Insert > thinkcell > Tools Icona Menu strumenti > Import Mekko Graphics to thinkcell.

Dopo aver selezionato Import Mekko Graphics to thinkcell, thinkcell sostituisce i grafici Mekko Graphics selezionati con grafici thinkcell. Tutti gli altri contenuti della diapositiva rimangono invariati. Dopo ogni diapositiva in cui sono stati sostituiti grafici Mekko Graphics, thinkcell inserisce una diapositiva di backup con i grafici Mekko Graphics originali.

È possibile importare la maggior parte dei grafici Mekko Graphics in thinkcell, con le seguenti eccezioni:

  • Grafici di Gantt, a barre mobili e a barre mobili orizzontali
  • Altri elementi Mekko Graphics, come le Harvey balls

Se un grafico o un elemento Mekko Graphics non può essere importato, thinkcell visualizza un messaggio.

Importare grafici con righe o colonne di dati

Se un grafico Mekko Graphics contiene righe o colonne di dati, thinkcell importa tale grafico come grafico thinkcell con una tabella dati (vedere Grafici con tabelle dati). I grafici Mekko Graphics possono rappresentare gli stessi dati sia nella tabella dati sia nel grafico. Attualmente thinkcell non supporta la rappresentazione degli stessi dati sia nella tabella dati sia nel grafico. Se un grafico Mekko Graphics rappresenta gli stessi dati sia nella tabella dati sia nel grafico, thinkcell importerà tale grafico senza tabella dati.

Applicare stile e formattazione ai grafici importati

thinkcell non importa lo stile e la formattazione dei grafici Mekko Graphics. Tuttavia, dopo aver importato un grafico Mekko Graphics, è facile ricrearne lo stile e la formattazione in thinkcell.

Applicare uno stile ai grafici

Quando thinkcell importa un grafico Mekko Graphics, il grafico importato adotta lo stile e la formattazione del file di stile thinkcell attivo (vedere Configurare i file di stile di thinkcell). È possibile formattare e applicare uno stile ai grafici importati come a qualsiasi altro grafico thinkcell (vedere Applicare stili e formattare i grafici).

L'immagine seguente mostra come utilizzare il menu di scelta rapida del grafico per aggiungere un asse Y a un grafico importato.

Use thinkcell's context menu to add axis

Formattare i numeri

La maggior parte della formattazione dei numeri nei grafici Mekko Graphics non viene importata nei grafici thinkcell. È possibile modificare facilmente la formattazione dei numeri in thinkcell (vedere Formattare le etichette del grafico).

L'immagine seguente mostra come utilizzare la barra di formattazione rapida per applicare al grafico importato il formato numero valuta del grafico Mekko Graphics originale.

È consigliabile confrontare i grafici Mekko Graphics e i grafici importati per assicurarsi che siano coerenti tra loro. Passare dalle diapositive originali a quelle di backup e viceversa per confrontare e apportare eventuali modifiche necessarie ai grafici importati. Quando i grafici importati risultano soddisfacenti, è possibile eliminare le diapositive di backup.

Modificare i dati dei grafici importati

thinkcell importa i dati da un grafico Mekko Graphics nel foglio dati del grafico importato. È possibile modificare i dati di un grafico importato come quelli di qualsiasi altro grafico thinkcell (vedere Introduzione ai fogli dati degli elementi).

Mostrare serie o categorie nascoste

thinkcell importa i dati da serie o categorie nascoste in un grafico Mekko Graphics come righe o colonne nascoste nel foglio dati del grafico importato. Per mostrare serie o categorie nascoste nel grafico importato, selezionare le colonne o le righe che contengono i dati nascosti nel foglio dati del grafico, fare clic con il pulsante destro del mouse sulla selezione e selezionare Unhide. Per ulteriori informazioni, vedere Supporto tecnico Microsoft.

Automatizzare il processo di importazione

Solo Windows

In Windows, è possibile utilizzare le funzioni dell'API thinkcell per importare a livello di programmazione grafici Mekko Graphics in thinkcell o ispezionarli. ImportMekkoGraphicsCharts sostituisce i grafici Mekko Graphics con grafici thinkcell. GetMekkoGraphicsXML estrae la definizione XML di un grafico Mekko Graphics.

ImportMekkoGraphicsCharts

Descrizione

Questa funzione sostituisce tutti i grafici Mekko Graphics nell'array di forme passato alla funzione con un grafico thinkcell equivalente. Tutte le forme devono trovarsi nella stessa diapositiva. Prima di modificare la diapositiva, la funzione crea una copia della diapositiva non modificata e la inserisce direttamente dopo la versione modificata.

Se la diapositiva non è stata modificata, ad esempio perché l'array non conteneva grafici Mekko Graphics, la funzione restituisce Nothing/null. In caso contrario, la funzione restituisce un riferimento alla copia non modificata della diapositiva.

VBA

Firma
tcPpAddIn.ImportMekkoGraphicsCharts ( _
    ashp As PowerPoint.Shape() _
) As PowerPoint.Slide
Esempio

Per usare questo esempio, aggiungerlo a un modulo in PowerPoint. Per ulteriori informazioni, vedere Visual Basic for Applications.

L'esecuzione di ImportAll su una presentazione esamina le diapositive della presentazione e sostituisce tutti i grafici Mekko Graphics visibili con grafici thinkcell equivalenti, creando una copia di ogni diapositiva contenente grafici Mekko Graphics prima di 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#

Firma
PowerPoint.Slide tcPpAddIn.ImportMekkoGraphicsCharts(
    PowerPoint.Shape[] ashp
);
Esempio

Per usare questo esempio, nel modello di progetto C# PowerPoint VSTO Add-in, aggiungere questo metodo alla classe ThisAddIn. Per ulteriori informazioni, vedere C# e Sviluppo di componenti aggiuntivi.

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()
            );
        }
    }

Per eseguire ImportAll su ogni presentazione aperta, aggiungere la riga seguente al metodo ThisAddIn_Startup.

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

GetMekkoGraphicsXML

Descrizione

Questa funzione restituisce il codice XML del grafico Mekko Graphics in shp come stringa. Non modifica la forma passata alla funzione.

Se shp non è un grafico Mekko Graphics, viene generato un errore E_INVALIDARG (0x80070057).

VBA

Firma
tcPpAddIn.GetMekkoGraphicsXML ( _
    shp As PowerPoint.Shape _
) As String
Esempio

Per usare questo esempio, aggiungere il codice seguente a un modulo in PowerPoint. Per ulteriori informazioni, vedere Visual Basic for Applications.

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#

Firma
string tcPpAddIn.GetMekkoGraphicsXML(
    PowerPoint.Shape shp
);
Esempio

Per usare questo esempio, sostituire il codice in Program.cs di una Console App con l'esempio.

L'esempio richiede riferimenti a Microsoft PowerPoint 16.0 Object Library e Microsoft Office 16.0 Object Library (vedere C# per i dettagli).

L'esecuzione dell'applicazione esamina la presentazione in C:\Samples\GetMekkoGraphicsXML\presentation.pptx e stampa nella console l'XML dei grafici Mekko Graphics contenuti nella presentazione.

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();
        }
    }
}

Hai bisogno di risolvere un problema?

Consulta la nostra knowledge base