Importer des graphiques Mekko Graphics
- Page d'accueil
- Ressources
- Manuel de l’utilisateur
- think-cell Charts : Visualisation des données
- Graphiques quantitatifs
- Importer des graphiques Mekko Graphics
Importez facilement les graphiques Mekko Graphics et leurs données dans think-cell.
Importer des graphiques Mekko Graphics dans think-cell
L’outil Import Mekko Graphics to think-cell convertit les graphiques Mekko Graphics en graphiques think-cell. Vous n’avez pas besoin d’installer Mekko Graphics pour utiliser l’outil d’importation.
Pour importer des graphiques Mekko Graphics dans think-cell, procédez comme suit :
- Dans PowerPoint, sélectionnez d’abord un ou plusieurs graphiques Mekko Graphics sur une diapositive, ou des diapositives contenant de tels graphiques.
- Sur le ruban, sélectionnez think-cell > Elements > Tools
> Import Mekko Graphics to think-cell ou Insert > think-cell > Tools
> Import Mekko Graphics to think-cell.
Une fois que vous avez sélectionné Import Mekko Graphics to think-cell, think-cell remplace les graphiques Mekko Graphics choisis par des graphiques think-cell. Tout le contenu des autres diapositives reste inchangé. Après chaque diapositive où des graphiques Mekko Graphics ont été remplacés, think-cell insère une diapositive de sauvegarde contenant les graphiques Mekko Graphics d’origine.
Vous pouvez importer la plupart des graphiques Mekko Graphics dans think-cell, à l’exception des éléments suivants :
- Diagrammes de Gantt, à barres flottantes et à barres flottantes horizontales
- Autres éléments Mekko Graphics, comme les Harvey Balls
Si un graphique ou un élément Mekko Graphics ne peut pas être importé, think-cell affiche un message d’erreur.
Importer des graphiques avec des lignes de données ou des colonnes
Si un graphique Mekko Graphics contient des lignes ou des colonnes de données, think-cell importe ce graphique sous forme de graphique think-cell avec un tableau de données (voir Graphiques avec des tableaux de données). Les graphiques Mekko Graphics peuvent représenter les mêmes données dans le tableau de données et le graphique. think-cell ne prend actuellement pas en charge la représentation simultanée des mêmes données dans ces deux éléments. Si un graphique Mekko Graphics représente les mêmes données à la fois dans le tableau de données et dans le graphique, think-cell importera ce graphique sans tableau de données.
Appliquer le style et le format aux graphiques importés
think-cell n’importe pas le style ni la mise en forme des graphiques Mekko Graphics. Cependant, une fois le graphique Mekko Graphics importé, il est facile d’en recréer le style et le format dans think-cell.
Appliquer le style aux graphiques
Lorsque think-cell importe un graphique Mekko Graphics, celui-ci adopte le style et le format du fichier de style think-cell actif (voir Set up think-cell style files). Vous pouvez formater et styliser des graphiques importés comme n’importe quel autre graphique think-cell (voir Définir le style et la mise en forme des graphiques).
L’image suivante montre comment utiliser le menu contextuel du graphique pour ajouter un axe Y à un graphique importé.
Formater les nombres
La plupart des formats numériques des graphiques Mekko Graphics ne sont pas importés dans les graphiques think-cell. Vous pouvez modifier facilement le format des nombres dans think-cell (voir Mettre en forme les libellés de graphique).
L’image suivante illustre comment utiliser la mini barre d’outils pour appliquer au graphique importé le format de devise du graphique Mekko Graphics d’origine.
Nous vous recommandons de comparer vos graphiques Mekko Graphics et les graphiques importés afin de vérifier leur cohérence. Basculez entre les diapositives d’origine et de sauvegarde pour comparer et apporter les modifications nécessaires aux graphiques importés. Lorsque vous êtes satisfait des graphiques importés, vous pouvez supprimer les diapositives de sauvegarde.
Modifier les données des graphiques importés
think-cell importe les données d’un graphique Mekko Graphics dans la feuille de données du graphique importé. Vous pouvez modifier les données d’un graphique importé comme celles de tout autre graphique think-cell (voir Introduction aux feuilles de données d’élément).
Afficher les séries ou catégories masquées
think-cell importe les données de séries ou catégories masquées d’un graphique Mekko Graphics sous forme de lignes ou colonnes masquées dans la feuille de données du graphique importé. Pour afficher les séries ou catégories masquées dans le graphique importé, sélectionnez dans la feuille de données les colonnes ou lignes contenant les données masquées, cliquez avec le bouton droit et sélectionnez Unhide. Pour en savoir plus, consultez l’Assistance Microsoft.
Automatiser le processus d’importation
Sous Windows, vous pouvez utiliser les fonctions de l’API think-cell pour importer ou inspecter par programmation des graphiques Mekko Graphics dans think-cell. ImportMekkoGraphicsCharts remplace les graphiques Mekko Graphics avec des graphiques think-cell. GetMekkoGraphicsXML extrait la définition XML d’un graphique Mekko Graphics.
ImportMekkoGraphicsCharts
Description
Cette fonction remplace tous les graphiques Mekko Graphics du tableau des formes qui lui est transmis par un graphique think-cell équivalent. Toutes les formes doivent se trouver sur la même diapositive. Avant de modifier la diapositive, la fonction créera une copie de la diapositive non modifiée et l’insérera directement après la version modifiée.
Si la diapositive n’a pas été modifiée dans le cas où, par exemple, l’ensemble ne contenait pas de graphiques Mekko Graphics, la fonction renvoie Nothing/null. Sinon, la fonction renvoie une référence à la copie non modifiée de la diapositive.
VBA
Signature
tcPpAddIn.ImportMekkoGraphicsCharts ( _
ashp As PowerPoint.Shape() _
) As PowerPoint.Slide
Exemple
Pour utiliser cet exemple, ajoutez-le à un module dans PowerPoint. Voir Visual Basic for Applications pour en savoir plus.
L’exécution de ImportAll dans une présentation affectera toutes les diapositives de la présentation et remplacera tous les graphiques Mekko Graphics visibles par des graphiques think-celle équivalents, en créant une copie de chacune des diapositives contenant un graphique Mekko Graphics avant de la modifier.
Option Explicit
Sub ImportAll()
' Get reference to think-cell 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#
Signature
PowerPoint.Slide tcPpAddIn.ImportMekkoGraphicsCharts(
PowerPoint.Shape[] ashp
);
Exemple
Pour utiliser cet exemple, dans le modèle de projet PowerPoint VSTO Add-in C#, ajoutez cette méthode à la classe ThisAddIn. Pour en savoir plus, consultez C# et Développement de compléments.
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()
);
}
}
Pour exécuter ImportAll sur chaque présentation ouverte, ajoutez la ligne suivante à la méthode ThisAddIn_Startup.
Application.PresentationOpen += new PowerPoint.EApplication_PresentationOpenEventHandler(ImportAll);
GetMekkoGraphicsXML
Description
Cette fonction renvoie le code XML du graphique Mekko Graphics dans shp en tant que chaîne. Elle ne modifie pas les formes transmises.
Si shp n’est pas un graphique Mekko Graphics, cela entraîne une erreur E_INVALIDARG (0x80070057).
VBA
Signature
tcPpAddIn.GetMekkoGraphicsXML ( _
shp As PowerPoint.Shape _
) As String
Exemple
Pour utiliser cet exemple, ajoutez le code suivant à un module dans PowerPoint. Voir Visual Basic for Applications pour en savoir plus.
Option Explicit
Sub GetMekkoGraphicsXMLOfAllShapes()
' Get reference to think-cell 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#
Signature
string tcPpAddIn.GetMekkoGraphicsXML(
PowerPoint.Shape shp
);
Exemple
Pour utiliser cet exemple, remplacez le code dans le fichier Program.cs d’une Console App par l’exemple.
L’échantillon nécessite des références à Microsoft PowerPoint 16.0 Object Library et à Microsoft Office 16.0 Object Library (voir C# pour plus de détails).
L’exécution de l’application affectera la présentation dans C:\Samples\GetMekkoGraphicsXML\presentation.pptx et imprimera le XML des graphiques Mekko Graphics contenus dans la présentation vers la console.
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();
}
}
}