Base de conocimientos KB0170

¿Puedo trabajar también con gráficos de think-cell en archivos .odp, el formato de archivo de LibreOffice/OpenOffice.org?

Problema

Después de abrir el archivo .odp en PowerPoint, la mayor parte de la funcionalidad de think-cell se ha perdido. Algunos cuerpos de gráfico subyacentes aún funcionan, pero la mayor parte de la funcionalidad no está presente (etiquetas, flechas, gráficos de Gantt…).

Este problema puede ocurrir, por ejemplo, en las situaciones siguientes:

  1. Está trabajando con una persona que utiliza OpenOffice.org o LibreOffice. Por lo tanto, guarda la presentación de PowerPoint (.ppt o .pptx) como Presentación de OpenDocument (archivo .odp) para pasar el archivo a la otra persona. Más tarde, vuelve a importar el archivo en PowerPoint.
  2. Abre un archivo .odp e inserta un gráfico de think-cell. Guarda el archivo en formato .odp.

Explicación

En el modelo de objetos de PowerPoint, cada PowerPoint.Shape tiene una colección del tipo Tags que permite almacenar información adicional acerca de objetos. El software think-cell utiliza estas etiquetas para identificar qué formas de la diapositiva pertenecen a think-cell (para obtener más información, consulte el artículo KB0073).

PowerPoint no exporta las etiquetas al formato de archivo .odp. La información de que ciertas formas son formas de think-cell se pierde.

Puede comprobarlo por sí mismo utilizando la siguiente macro de VBA que indica todas las formas y sus etiquetas en la diapositiva actual:

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

Para ejecutar la macro, abra el editor de VBA con Alt+F11. Seleccione el libro y haga clic en InsertarMódulo. Pegue la macro anterior y ejecútela mediante F5.

Compartir