PowerPoint vba - для каждой фигуры в каждом макете в MasterView - PullRequest
0 голосов
/ 04 января 2011

Я пытаюсь программно изменить язык каждой фигуры в каждом настраиваемом макете в шаблоне PowerPoint, и я не могу понять, как это сделать.Я делал это раньше, но больше не могу найти макрос, поэтому не знаю, как это сделал.Я был в состоянии выбрать каждый пользовательский макет, хотя.Но мне нужно перебрать каждое текстовое поле в каждом макете и выбрать язык.Моя проблема нацелена на каждую фигуру.Как мне это сделать?

Это то, что я получил до сих пор:

ActiveWindow.ViewType = ppViewSlideMaster

For Each oLayout In ActivePresentation.SlideMaster.CustomLayouts
    oLayout.Select
Next   

Это в основном циклы по каждой раскладке.Но я не могу понять, как выбрать каждый заполнитель?Как мне это сделать?

Редактировать: Разрешение сейчас:

For Each oLayout In ActivePresentation.SlideMaster.CustomLayouts
    oLayout.Select
    Dim oShape As Shape
    For Each oShape In oLayout.Shapes
        oShape.Select
    Next
Next

Ответы [ 2 ]

2 голосов
/ 04 января 2011

Цикл oLayout.Shapes или, возможно, oLayout.Shapes.Placeholders

0 голосов
/ 10 апреля 2013

Спасибо вам двоим.Мне нужно было решение обновить встроенный объект Excel на главном слайде.Это привело меня к идеальному решению

'loops through all shapes in slidemaster
    Dim oShape As Shape
    For Each oShape In ActivePresentation.SlideMaster.Shapes
        oShape.Select
        'checks for excel object (type=7)
                 If oShape.Type = msoEmbeddedOLEObject Then
                    oShape.OLEFormat.Activate

                    ActiveWindow.Selection.Unselect  'deactivates shape
                End If
    Next
...