Question

Je suis en train de changer la langue de programatically chaque forme dans chaque customlayout dans un modèle PowerPoint et je ne peux pas comprendre comment faire cela. Je l'ai fait, mais je ne peux pas trouver la macro plus, donc je ne sais pas vraiment comment je l'ai fait. Je suis en mesure de sélectionner chaque mise en page personnalisée bien. Mais je dois faire une boucle à travers chaque zone de texte dans chaque mise en page et sélectionnez la langue. Mon problème est ciblons chaque forme. Comment puis-je faire?

est ce que j'ai à ce jour:

ActiveWindow.ViewType = ppViewSlideMaster

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

boucles essentiellement par chaque mise en page. Mais je ne peux pas comprendre comment sélectionner chaque espace réservé? Comment puis-je faire?

Edit: La résolution est maintenant:

For Each oLayout In ActivePresentation.SlideMaster.CustomLayouts
    oLayout.Select
    Dim oShape As Shape
    For Each oShape In oLayout.Shapes
        oShape.Select
    Next
Next
Était-ce utile?

La solution

Boucle à travers oLayout.Shapes, ou peut-être oLayout.Shapes.Placeholders.

Autres conseils

Merci vous deux. Je avais besoin d'une solution pour la mise à jour d'un objet Excel embarqué sur la diapositive principale. Cela a conduit à moi la solution parfaite

'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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top