нежелательное удаление пользовательских макетов при удалении слайда в презентации - PullRequest
1 голос
/ 29 октября 2011

Извините, что недавно заполнил форум, но я почти закончил с моим шаблоном. Я начал тестировать свой шаблон и понял, что всякий раз, когда я создаю презентацию и удаляю слайд в этой презентации, CUstomLayout, используемый на этом слайде, будет автоматически удаляться вместе с ним, если только другой слайд не использует его.

Есть ли способ защитить CustomLayouts или у меня по незнанию какие-то странные настройки включены?

Большое спасибо Seba

Ответы [ 2 ]

3 голосов
/ 29 октября 2011

При сохранении, если не раньше, PPT удалит все неиспользуемые пользовательские макеты, если они не «закреплены» в пользовательском интерфейсе или в коде, для свойства CustomLayout Preserved будет установлено значение True. Это должно установить для всех макетов в активной презентации значение Сохранено:

With ActivePresenation
  For x = 1 to .Designs.Count
    For y = 1 to .Designs.SlideMaster.CustomLayouts.Count
      .Designs.SlideMaster.CustomLayouts(y).Preserved = True
    Next
  Next
End With
0 голосов
/ 13 июня 2018

Стив очень близко, вот исправленная версия:

Sub PreserveLayouts()
  With ActivePresentation
    For x = 1 To .Designs.Count
      For y = 1 To .Designs(x).SlideMaster.CustomLayouts.Count
        .Designs(x).SlideMaster.CustomLayouts(y).Preserved = True
      Next
   Next
 End With
End Sub
...