База знаний KB0170

Можно ли также работать с диаграммами think-cell ODP-файлах (формат файла LibreOffice/OpenOffice.org)?

Проблема

После открытия файла .odp в PowerPoint, большая часть функциональности think-cell будет потеряна. Некоторые основные элементы будут работать, но большая часть функциональности будет отсутствовать (метки, стрелки, диаграммы Ганта, …).

Такая проблема может возникнуть в следующих ситуациях:

  1. Вы работаете совместно с человеком, который использует OpenOffice.org или LibreOffice. Сохраняете свою презентацию PowerPoint (файл .pptx или .ppt) как презентацию OpenDocument (файл .odp), чтобы отправить файл своему коллеге. Впоследствии вы повторно импортируете этот файл в PowerPoint.
  2. Вы открываете файл .odp и вставляете диаграмму think-cell. Сохраняете файл в формате .odp.

Пояснение

В объектной модели PowerPoint у каждого PowerPoint.Shape есть коллекция Tags, в которой хранится дополнительная информация об объектах. Надстройка think-cell использует эти теги для идентификации фигур слайда, относящихся к think-cell (дополнительные сведения см. KB0073).

PowerPoint не экспортирует теги в файловый формат .odp. При этом теряются сведения о том, какие фигуры относятся к think-cell.

Вы можете убедиться в этом сами, используя следующий макрос VBA, который перечисляет все фигуры текущего слайда и их теги:

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

Для запуска макроса откройте редактор VBA сочетанием клавиш Alt+F11. Выберите рабочую книгу и нажмите кнопку ВставкаМодуль. Вставьте приведенный выше макрос и запустите его клавишей F5.

Поделиться