Надеюсь, что-то вроде того, что вы ищете.Код
- Прокручивает каждый слайд в
ActivePresentation
, добавляя заголовок, если его еще нет. - Изменяет текст заголовка, получая
sectionIndex
свойство слайда, а затем использование этого индекса в методе SectionProperties.Name
для извлечения соответствующего текста.
Sub ChangeMyTitles()
Dim sld As Slide
Dim titleShape As Shape
If ActivePresentation.SectionProperties.Count = 0 Then Exit Sub
For Each sld In ActivePresentation.Slides
With sld
If Not .Shapes.HasTitle Then
Set titleShape = .Shapes.AddTitle
Else
Set titleShape = .Shapes.Title
End If
titleShape.TextFrame2.TextRange.Text = ActivePresentation.SectionProperties.Name(.sectionIndex)
End With
Next sld
End Sub
РЕДАКТИРОВАТЬ:
Если вы хотите изменить местозаполнитель, отличный от заголовка, вы можете сделать что-то вроде этого.Исходя из вашего скриншота, я предполагаю, что местозаполнитель, который вы хотите изменить, является третьим (заголовок 1, тело 2, глава 3), но вам, возможно, придется изменить 3
ниже.
Sub ChangeMyChapters()
Dim sld As Slide
Dim chapterShape As Shape
If ActivePresentation.SectionProperties.Count = 0 Then Exit Sub
For Each sld In ActivePresentation.Slides
With sld
Set chapterShape = .Shapes.Placeholders(3)
chapterShape.TextFrame2.TextRange.Text = ActivePresentation.SectionProperties.Name(.sectionIndex)
End With
Next sld
End Sub