Powerpoint 2007 - возможно ли заменить местозаполнитель на заглавный? - PullRequest
0 голосов
/ 08 марта 2011

Я нашел после того, как создал несколько шаблонов PowerPoint, которые я забыл добавить местозаполнитель «Заголовок», который можно найти в Master View. Вместо этого я добавил вместо текстовых полей заполнители, которые отлично работают. Но оказывается, что некоторые люди используют режим Outline, и там представлен заголовок каждого слайда. А если флажок «Заголовок» не установлен, то каждый слайд не имеет заголовка при просмотре в режиме «Контур».

Итак, я подумал, можно ли заменить данный заполнитель на заполнитель заголовка?

1 Ответ

0 голосов
/ 10 октября 2014

Может быть, с помощью VBA.Вставить в Visual Basic.Выберите целевой заполнитель / текстовое поле (любой текст).Затем запустите его.

Sub convertToTitle()
    Dim osld As Slide
    Dim SlideIndex As Long
    Dim oshp As Shape
    Dim oTxR As TextRange
    SlideIndex = ActiveWindow.View.Slide.SlideIndex
    Set osld = ActivePresentation.Slides(SlideIndex)
    Set oshp = ActiveWindow.Selection.ShapeRange(1)
    Set osld = oshp.Parent
    Set oTxR = oshp.TextFrame.TextRange
    With ActivePresentation
        ActivePresentation.Slides(SlideIndex).CustomLayout = ActivePresentation.Designs(1).SlideMaster.CustomLayouts(2)
        'use layout = 2 because it has both Title & Content
        'but you can use any layout as long as it has Title in it
        osld.Shapes.Placeholders.Item(1).TextFrame.TextRange = oTxR.Characters
        oshp.Delete
    End With
End Sub

Вуаля, он изменится на Заголовок.Но вы должны запускать его для каждого слайда.

...