Powerpoint 2010 VBA: не нумеруйте слайды с определенным названием

Недавно я написал макрос, который не будет нумеровать скрытые слайды. То есть, когда слайд скрыт, он не будет учитываться при нумерации всей колоды, поэтому, если слайд 3 скрыт, нумерация будет выглядеть так:

Слайд 1, номер 1, слайд 2, номер 2, слайд 3, (без номера), слайд 4, номер 3

Есть ли способ сделать то же самое для слайдов с названием "Повестка дня"? Я бы хотел, чтобы мои слайды отображались в режиме слайд-шоу, но я не хочу, чтобы они учитывались при нумерации слайдов.

В принципе, есть ли способ сослаться на текст заголовка слайда в операторе if?

Спасибо!

1 ответ

Решение

Это вернет true, если на данном слайде будет найден заголовок-заполнитель, который содержит не зависящий от регистра текст "повестка дня":

' ===========================================================================
' Purpose : Determine if a given slide has an Agenda-based title placeholder
' Written By : Jamie Garroch of YOUpresent.co.uk
' Inputs : oSld - the slide object to be examined
' Outputs : Returns true if the word "agenda" is found in a title placeholder
' Example Call : bAgendaSlide = IsSlideAgenda(ActiveWindow.View.Slide)
' Notes : Search is case insensitive
' ===========================================================================
Function IsSlideAgenda(oSld As Slide) As Boolean
  With oSld.Shapes
    If .HasTitle Then
      If Trim(UCase(.Title.TextFrame.TextRange.text)) Like "*AGENDA*" Then IsSlideAgenda = True
    End If
  End With
End Function
Другие вопросы по тегам