Pregunta

Estoy intentando cambiar mediante programación el lenguaje de cada forma en cada customlayout en una plantilla de PowerPoint y no puedo encontrar la manera de hacer esto. Yo he hecho antes, pero no puedo encontrar la macro más, así que no se sabe muy bien cómo lo hice. He sido capaz de seleccionar cada diseño personalizado sin embargo. Pero tengo que recorrer cada cuadro de texto en cada diseño y seleccione el idioma también. Mi problema es que apuntan a cada forma. ¿Cómo puedo hacer esto?

Esto es lo que tengo hasta ahora:

ActiveWindow.ViewType = ppViewSlideMaster

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

Esto básicamente recorre cada diseño. Pero no puedo encontrar la manera de seleccionar cada marcador de posición? ¿Cómo puedo hacer esto?

Edit: La resolución es ahora:

For Each oLayout In ActivePresentation.SlideMaster.CustomLayouts
    oLayout.Select
    Dim oShape As Shape
    For Each oShape In oLayout.Shapes
        oShape.Select
    Next
Next
¿Fue útil?

Solución

Bucle a través de oLayout.Shapes, o tal vez oLayout.Shapes.Placeholders.

Otros consejos

Gracias dos. Necesitaba una solución para la actualización de un objeto incrustado de Excel en el patrón de diapositivas. Esto me llevó a la solución perfecta

'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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top