Knowledge base KB0170

Puis-je également utiliser les graphiques think-cell dans les fichiers .odp, le format de fichier LibreOffice/OpenOffice.org ?

Problème

Après avoir ouvert le fichier .odp dans PowerPoint, la plupart des fonctionnalités de think-cell sont perdues. Certains corps de graphique sous-jacents (graphiques Microsoft Graph) fonctionnent encore, mais la plupart des fonctions sont absentes (libellés, flèches, diagramme de Gantt, …).

Ce problème peut par exemple survenir dans les situations suivantes :

  1. Vous travaillez avec une personne qui utilise OpenOffice ou LibreOffice. Par conséquent, vous enregistrez la présentation PowerPoint (fichier .pptx ou .ppt) en tant que présentation OpenDocument (fichier .odp) pour transmettre le fichier à cette personne. Vous réimportez le fichier dans PowerPoint ultérieurement.
  2. Vous ouvrez un fichier .odp dans lequel vous insérez un graphique think-cell. Vous enregistrez le fichier au format .odp.

Explication

Dans le modèle d'objet PowerPoint, chaque PowerPoint.Shape possède une collection de Balises permettant de stocker des informations supplémentaires sur les objets. think-cell utilise de telles balises pour identifier les formes qui appartiennent à think-cell sur la diapositive (pour plus de détails, reportez-vous à l'article KB0073 de la Knowledge base).

PowerPoint n'exporte pas les balises dans le format de fichier .odp. Les informations de certaines formes, telles que les formes think-cell, sont perdues.

Vous pouvez le vérifier à l'aide de la macro VBA suivante, qui dresse la liste des formes et de leurs balises dans la diapositive en cours :

Sub List_Tags()
 Dim oShape As PowerPoint.Shape
 Dim str As String
 Dim i As Integer
 For Each oShape In ActiveWindow.View.Slide.Shapes
 Debug.Print oShape.Name & "( " & oShape.Tags.Count & " tags)"
 For i = 1 To oShape.Tags.Count
 Debug.Print " Tag(" & i & "): " & _
 "Name: " & oShape.Tags.Name(i) & ", " & _
 "Item:" & oShape.Tags.Item(i)
 Next i
 Next oShape 
End Sub

Pour exécuter la macro, ouvrez l'éditeur VBA en appuyant sur Alt+F11. Sélectionnez votre classeur et cliquez sur InsertionModule. Collez la macro ci-dessus et exécutez-la en appuyant sur F5.