Контекст
У меня есть мастер-слайд и 60 макетов. Не спрашивайте почему, но я хотел бы найти и заменить текст в фиктивных текстах, заголовках в мастер-слайде и его 60 слайдах макета.
Что я пробовал …
… — это переключиться на образец слайдов, а затем использовать диалоговое окно «Найти», нажав ctrl + F. Однако, когда я запускаю кнопку поиска, [Find Next], PowerPoint мгновенно переключается обратно в обычный режим просмотра и выполняет поиск в реальном содержании презентации.
Вопрос
Есть ли способ найти и заменить в мастер-слайде и его макетных слайдах в текстах-пустышках?
1 ответ
Оказывается, вы можете выполнить поиск / замену с помощью VBA:
' Use this to test the replacement
' Usage: Call ReplaceTextInLayouts (text to replace, text to replace it with)
Sub TestReplace()
Call ReplaceTextInLayouts("BETTER", "WORSE")
End Sub
Sub ReplaceTextInLayouts(sSearchFor As String, sReplaceWith As String)
Dim oSh As Shape
Dim oLay As CustomLayout
With ActivePresentation
For Each oLay In .SlideMaster.CustomLayouts
For Each oSh In oLay.Shapes
If oSh.HasTextFrame Then
With oSh.TextFrame.TextRange
If InStr(.Text, sSearchFor) > 0 Then
Call .Replace(sSearchFor, sReplaceWith)
End If
End With
End If
Next
Next
End With
End Sub