Как указать PowerPoint для сопоставления двух заполнителей при переключении макетов слайдов? - PullRequest
0 голосов
/ 04 февраля 2020

Я начинаю с рабочего примера:

  • Откройте PowerPoint с пустой презентацией.
  • Щелкните правой кнопкой мыши титульный слайд и выберите «Макет - Заголовок и содержимое».
  • Вы видите «• Нажмите, чтобы добавить текст»? Нажмите и добавьте текст.
  • Снова щелкните правой кнопкой мыши слайд и выберите «Макет - Два содержимого».

Посмотрите, насколько умным может быть PowerPoint?

  1. Текст, который вы ввели в одном заполнителе ранее, теперь находится в одном из двух заполнителей.
  2. В частности, левый.

Мои вопросы:

  1. Почему? (А не в лишнем?)
  2. Почему? (А не в правильном?)

Мои вопросы возникают потому, что я получил набор мастер-слайдов, на которых вышеописанное не работает, и я пытаюсь восстановить это без необходимости регенерировать все.

Ответы [ 2 ]

1 голос
/ 05 февраля 2020

Это сайт, посвященный проблемам программирования, но история вопроса может быть достаточно сложной. Современные файлы PowerPoint XML. В XML для каждого макета слайда каждый заполнитель имеет ссылочный номер idx . PowerPoint использует эти цифры для определения места размещения контента.

Синдром отложенного конструктора - причина того, что вы видите. Вместо создания новых заполнителей по порядку, чтобы числа idx увеличивались в логическом порядке, дизайнер скопировал и вставил заполнители, чтобы избежать дополнительной работы по форматированию. Все вставленные заполнители имеют одинаковый номер idx. В результате PowerPoint не имеет представления о порядке заполнения и вставляет содержимое случайным образом.

Это не всегда легко решить без редактирования XML, но вы можете попробовать удалить все, кроме самого левого заполнителя. Затем создайте новые заполнители, вставляя их по одному и переформатируя вручную, чтобы соответствовать первому.

0 голосов
/ 12 февраля 2020

@ Принятый ответ JohnKorchok содержит технические детали для процедуры, описанной здесь. Обратите внимание, что в моей презентации были только «заполнители контента».

  • Установите 7-Zip и ваш любимый текстовый редактор (вы можете использовать один с форматером XML, что упростит задачу, но это не требуется).
  • Откройте file.pptx в 7-Zip (не нужно переименовывать в .zip, просто щелкните правой кнопкой мыши и «Открыть архив»)
  • Перейдите к ppt/slideLayouts ,
  • См. Список slideLayout....xml файлов.
  • Определите те, которые вы хотите отредактировать, например, открыв каждый и ища <p:cSld name. (Цифры могут указывать только на порядок создания макетов, а не на порядок, в котором они теперь отображаются в PowerPoint - хотя сохранение файлов .pptx в PowerPoint 2016 действительно изменяет макеты слайдов для меня, так что отображение порядок соответствует номерам имен файлов.)
  • Ищите <p:ph, пока не найдете те, которые хотите отредактировать. Вы, вероятно, хотите игнорировать те, у которых type="title", type="ftr", type="sldNum".
  • Измените idx всех других заполнителей на 1, 2, ... в порядке в котором вы хотите, чтобы они были заполнены (используйте <p:cNvPr ... name= для идентификации заполнителей).
  • Сохраните файлы .xml, закройте редактор и попросите 7-Zip обновить архив. Ответьте «Да».

Поэтому я установил idx на 1 для одного заполнителя в моем макете с 1 контентом и на 1 для левого заполнителя в моем макете с 2 контентом и 2 для правильного заполнителя в моем 2-контенте.

...