Вы можете сделать это, но это действительно не рекомендуется. Кроме того, создание нового слайда и применение макета подвержено ошибкам. В следующем фрагменте кода вы можете увидеть, как получить макет по имени из мастера ....
private PowerPoint.CustomLayout DpGetCustomLayout(
PowerPoint.Presentation ppPresentation, string myLayout)
{
//
// Given a custom layout name, find the layout in the master slide and return it
// Return null if not found
//
PowerPoint.CustomLayout ppCustomLayout = null;
for (int i = 0; i < ppPresentation.SlideMaster.CustomLayouts.Count; i++)
{
if (ppPresentation.SlideMaster.CustomLayouts[i + 1].Name == myLayout)
ppCustomLayout = ppPresentation.SlideMaster.CustomLayouts[i + 1];
}
return ppCustomLayout;
}
тогда вы можете назначить его слайду, как вы видели выше. Однако, если макеты несовместимы, результаты могут быть непредсказуемыми. Я предполагаю, что слайды, по крайней мере, относительно одинаковы. Вы должны попытаться создать новый слайд и скопировать его содержимое, чтобы не быть заложниками изменений в основной теме или шаблоне.
Подробнее об этом см. кодовое описание .