База знаний KB0162. Функциональность think-cell теряется в PowerPoint 2010

KB0162. Функциональность think-cell теряется в PowerPoint 2010

Проблема

При открытии файла .pptx в PowerPoint 2010 элементы think-cell теряют всю функциональность think-cell. Если дважды нажать на диаграмму на основе Microsoft Graph, например диаграмму с накоплением think-cell, набор данных не открывается, но появляется сообщение Сообщение о преобразовании 1. после выбора команды Изменить существующую Сообщение о преобразовании 2. Если файл еще не был сохранен в PowerPoint 2010, его можно открыть в PowerPoint 2007 с полностью рабочей функциональностью think-cell. Но стоит сохранять его в PowerPoint 2010, и вся функциональность think-cell будет навсегда утрачена, даже если потом открыть файл в Office 2007.

Скорее всего, эта проблема будет наблюдаться с файлами, полученными по электронной почте, если отправитель установил программные средства по очистке файлов вроде Workshare Protect 7 или инструмент сжатия файлов вроде ZipMail 11.

Программа ZipMail 11 реализует "оптимизацию XML-объема в реальном времени" для вложений электронной почты, то есть ПО распаковывает zip-архивы в файлах .pptx и затем перепаковывает их с лучшей степенью сжатия.

Workshare Protect 7 реализует "очистку и удаление всей скрытой электронной информации, такой как метаданные, примечания и скрытые комментарии", с помощью распаковки, очистки и повторной упаковки zip-архивов в файлах .pptx.

Из-за программной ошибки в PowerPoint 2010 этот инструмент не всегда корректно открывает допустимые файлы .pptx с внедренными элементами, например диаграммами или изображениями.

Решение

Microsoft исправила эту ошибку. Пожалуйста, установите обновления Office 2010 от июня 2012 г. или исправления KB2687274.

Вы можете исправить проблемные файлы (еще не сохраненные после исправления), для этого откройте и сохраните их в PowerPoint 2010, установив исправление KB2687274. Внимание! Если хоть раз сохранить проблемный файл в PowerPoint 2010 без исправления KB2687274, внедренные объекты будут безвозвратно повреждены. Если вы получили файл по электронной почте, откройте его снова напрямую из письма.

В ZipMail реализовано обходное решение для устранения ошибки PowerPoint, поэтому при отправке писем с ZipMail другим пользователям PowerPoint 2010 без исправления KB2687274 такой проблемы не возникнет. Для активации обходного решения, пожалуйста, обновите Zipmail до версии 11.1.3 или старше. Включите в файл zmlnl.ini новый параметр ZipMailFixPPTXEmbeddedObjects=1.

Пояснение

На самом деле файл .pptx — это zip-архив, содержащий различные элементы, такие как слайды и определения стилей, которые хранятся в отдельных файлах и папках. Согласно спецификации PowerPoint (ECMA-376.2.C2, таблица C-2 и C-5) допускается использование различных форматов zip-архивов. Из-за регрессионной ошибки в PowerPoint2010, PowerPoint не может открыть внедренные объекты, если они помечены zip-форматом, который отличается от стандартного 'Deflate - superfast', используемого в PowerPoint.

Если вы ИТ-специалист, то, возможно, вам стоит самостоятельно проверить какой метод сжатия zip применяется для внедренных объектов. Для выполнения такой процедуры

  • Переименуйте файл .pptx в файл .txt и откройте его в редакторе шестнадцатеричного кода (например, в Notepad++ с подключаемым модулем HexEdit).
  • Выполните поиск "ppt/embeddings/oleobject" в режиме ANSI, чтобы найти локальный заголовок файла zip-структуры (на самом деле, в строке поиска находится имя файла сжатого внедренного объекта).
  • Перейдите к сигнатуре локального заголовка файла "50 4B 03 04" (в шестнадцатеричном режиме) прямо перед этой строкой. Отсюда байты отсчитываются с индексом 0. Многобайтовые числа хранятся в нотации с прямым порядком байтов, то есть младший байт идет первым. zip-заголовком,.
  • Фон:
    В байтах 8-9 от начала заголовка обозначается метод сжатия (CM). 'Deflate' относится к байтам "08 00".
    В байтах 6-7 хранятся битовые флаги общего назначения (GPBF), это 16 бит с различной информацией: Для типа сжатия 'Deflate', бит 1 и 2 обозначают подтип сжатия. В файлах .pptx, записанных PowerPoint, бит 1 = 1 и бит 2= 1, другие биты равны 0, таким образом, байты GPBF будут обозначены как "06 00".
  • Метод определения, обрабатывался ли файл .pptx программными инструментами сжатия или очистки:
    Посмотрите байты 6-7 (GPBF) и 8-9 (CM). Если эти байты не являются

    zip-заголовком,.

    то этот файл .pptx был сжат не PowerPoint, а другой программой. То есть на файл .pptx окажет влияние программная ошибка PowerPoint, описанная в данной статье.

Программные средства распаковывают zip-архивы в файлах .pptx и затем сжимают их в другом zip-формате. После этого файлы, по-прежнему

  • соответствующие спецификациям PowerPoint и корректно открываемые в Office 2007,
  • нельзя безошибочно открыть в Office 2010.

Поделиться