OpenXML - PresentationML - newMasterPart.SlideMaster.Preserve = false, не работает

Я пытаюсь использовать атрибут "Сохранение" в Slide Master, чтобы очистить не связанные с Slide Masters.

Моя цель - клонировать все слайды в презентации (имеет только один слайд) в базовую презентацию (имеет только один слайд) и изменить макет клонированных слайдов на макет базовой презентации.

Подход, который я выбрал, был:

(Базовое представление обозначено как B, подлежащее клонированию представление обозначено как C)

Скопируйте слайд слайда C в B.

Скопируйте мастер C в B.

Установите атрибут SlideMaster.Preserve в false во вновь скопированном мастере.

Удалите существующие части макета вновь добавленных слайдов в B(клонированные слайды из C).

Добавьте требуемую часть макета из B во вновь добавленные части слайда.

Пройдите через LayoutId и измените их порядок, чтобы они содержали уникальные значения.

Но когда я открываю результирующий файл, хотя нет никаких ссылок на MasterSlide, скопированный из C. Он все еще существует.

Примечание. Несмотря на то, что я изменяю слайд макета в том же фрагменте кода, на практике он будет выполняться с другим путем выполнения, поэтому не копировать MasterSlides of C не вариант.

Базовая презентация (B)введите описание изображения здесь

Мастер слайд базывведите описание изображения здесь

Презентация клона (C)введите описание изображения здесь

Презентация Master Slide of Cloneвведите описание изображения здесь

Результирующий выводвведите описание изображения здесь

Мастер слайды выводавведите описание изображения здесь

Хотя нет ссылок на второй мастер-слайд, он по-прежнему преобладает даже после установки атрибута preserve в false.

Пример кода можно скачать с Post2.zip

Файлы в Post2:

BaseSlide.pptx (basepresentation)

ToBeCloned.pptx (презентация клона)

Out2.pptx (итоговая презентация)

Любая помощь с благодарностью. Благодарю.

0 ответов

Другие вопросы по тегам