我具有以下VBA代码来创建新的PowerPoint幻灯片:
longSlideCount = ActivePresentation.Slides.Count
With ActivePresentation.Slides
Set slideObject = .Add(longSlideCount + 1, ppLayoutTitle)
End With
...这会插入类型为“ppLayoutTitle”的新幻灯片,但是我想知道是否可以在“幻灯片主 View ”中创建自定义布局,然后将特定幻灯片模板的插入演示文稿中吗?
提前致谢!!!
最佳答案
您可以通过VBA通过CustomLayouts
对象的 SlideMaster
collection的 Presentation
property访问所有自定义布局。创建自定义布局时,请为其赋予一个有意义的名称。然后,您可以从CustomLayouts
集合中获取它。似乎Microsoft并未按名称实现查找,因此您将不得不遍历该集合以查找具有正确名称的CustomLayout
对象。
一旦有了对所需CustomLayout
对象的引用,就可以使用AddSlide
集合的 Slides
method,该集合将CustomLayout
对象作为第二个参数(与您在问题中使用的Slides.Add
相反,并使用PpSlideLayout
枚举值) 。
以下是用于通过名称获取自定义布局的帮助方法,以及根据需要使用该示例的示例:
Public Function GetLayout( _
LayoutName As String, _
Optional ParentPresentation As Presentation = Nothing) As CustomLayout
If ParentPresentation Is Nothing Then
Set ParentPresentation = ActivePresentation
End If
Dim oLayout As CustomLayout
For Each oLayout In ParentPresentation.SlideMaster.CustomLayouts
If oLayout.Name = LayoutName Then
Set GetLayout = oLayout
Exit For
End If
Next
End Function
Sub AddCustomSlide()
Dim oSlides As Slides, oSlide As Slide
Set oSlides = ActivePresentation.Slides
Set oSlide = oSlides.AddSlide(oSlides.Count + 1, GetLayout("Smiley"))
End Sub