我刚刚遇到了SectionProperties.AddSection的错误行为。假设我已经创建了四个部分:
1. Default
2. Overview
3. Details
4. Conclusions
现在我打电话给代码:
Presentation.SectionProperties.AddSection(3, "Overview details");
根据文档:SectionProperties.AddSection Method (PowerPoint) 概述详细信息部分应在详细信息部分之前创建。
但不是
1. Default
2. Overview
3. Overview Details
4. Details
5. Conclusions
我最终得到了:
1. Default
2. Overview details
3. Overview
4. Details
5. Conclusions
这是一个常见问题吗?我做了一些测试,似乎插入新部分只有在开头或结尾插入新部分时才能正常工作。
谢谢, 帕维尔
答案 0 :(得分:2)
在MS Answers上看到你的帖子,介于两者之间,还有更多时间玩这个。这确实是错误的,但有一个解决方法。某些部分没有幻灯片时会出现问题;所以我们将幻灯片添加到任何没有它们的部分,根据需要添加部分,然后删除刚刚添加的“虚拟”幻灯片。
Sub TestAddSection()
Dim x As Long
Dim oSl As Slide
' Add a dummy slide to each empty section and tag it
For x = 1 To ActivePresentation.SectionProperties.Count
Debug.Print ActivePresentation.SectionProperties.Name(x)
If ActivePresentation.SectionProperties.SlidesCount(x) = 0 Then
' activepresentation.SectionProperties.
Set oSl = ActivePresentation.Slides.AddSlide(1, ActivePresentation.Designs(1).SlideMaster.CustomLayouts(1))
oSl.Tags.Add "DUMMY", "YES"
oSl.MoveToSectionStart (x)
End If
Next
' add new section
ActivePresentation.SectionProperties.AddSection 3, "NEW GUY"
' And delete the dummy slides
With ActivePresentation
For x = .Slides.Count To 1 Step -1
If .Slides(x).Tags("DUMMY") = "YES" Then
.Slides(x).Delete
End If
Next
End With
End Sub
我在索引1添加幻灯片,然后将它们移动到需要它们的部分的开头。也许有一种方法可以将它们直接添加到该部分,但我找不到它。