PowerPoint VBA - Para cada forma en cada diseño en MasterView
-
15-10-2019 - |
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
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 ??p>
'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