Исправление ошибок Powerpoint 2007 XML - PullRequest
2 голосов
/ 19 августа 2010

В настоящее время я пишу процесс, который генерирует отчеты Powerpoint программно из заданного шаблона с использованием библиотеки MSXML через VBScript.Единственная манипуляция с XML, которую я делаю, - это дублирование слайдов, вставка данных в таблицы данных Excel для диаграмм и несколько замен текстов заголовка и текста.Я тестирую на 2 шаблонах, которые идентичны с точки зрения графиков, но отличаются по стилям и макетам.Один из шаблонов дает мне рабочий выходной файл pptx, тогда как другой показывает эту ошибку при открытии:

Ошибка Powerpoint

Теперь я хочу знать, что лучше/ самый простой способ найти причину этой ошибки?Я пытался различить XML между шаблоном, выводом и исправленным выводом Powerpoint, но различия появляются во многих разных местах в стольких разных файлах, что это очень длительный процесс.Существуют ли какие-либо инструменты проверки / валидации, которые могут мне помочь?Я проверил XML на соответствие схемам, но, похоже, XML действителен.

Я не могу выполнить обновление до таких инструментов, как Microsoft OpenXML SDK для .NET, и этот процесс должен быть реализован в процессе VBScript / MSXML.Я сейчас использую.

1 Ответ

4 голосов
/ 24 августа 2010

Для базовой проверки документов Open XML вы можете использовать Open XML SDK.См. Эти две ссылки как начало:

Для проверки без SDK это делается в основном вручную.Большинство ошибок в PowerPoint связаны с:

  1. Несоответствием между макетом слайда и макетом основного слайда.<- этот тип чаще встречается при записи в разные шаблоны. </li>
  2. Идентификаторы отношений (rId) не совпадают.
  3. Неправильные записи в [Content_Types] .xml.

Один из методов - выбрать «Восстановить» на неверной слайд-колоде, а затем сохранить восстановленную колоду под другим именем.После этого вы можете использовать инструмент DiffOPC , чтобы запустить исправленный и один с ошибками, чтобы попытаться определить, что было восстановлено - это, как правило, будет отличным признаком того, что было неверным с самого начала.

...