删除演示文稿中的幻灯片时不必要地删除自定义布局

时间:2011-10-29 16:08:28

标签: powerpoint powerpoint-vba

很抱歉最近充斥着论坛,但我差不多完成了我的模板。我已经开始测试我的模板并意识到,无论何时我创建演示文稿,并删除该演示文稿中的幻灯片,该幻灯片上使用的CUstomLayout都将自动删除,除非另一张幻灯片也在使用它。

有没有办法保护CustomLayouts,或者我在不知不觉中打开了一些奇怪的设置?

非常感谢 西巴

2 个答案:

答案 0 :(得分:3)

如果不是之前保存,PPT将删除任何未使用的自定义布局,除非它们在UI或代码中被“固定”,您将CustomLayout的Preserved属性设置为True。这应该将活动演示文稿中的所有展示设置为Preserved:

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

答案 1 :(得分:0)

史蒂夫非常接近,这是一个固定的版本:

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