Domanda

Sto cercando di cambiare programatically la lingua di ogni forma in ogni customLayout in un modello di PowerPoint e non riesco a capire come fare questo. L'ho fatto prima, ma non riesco a trovare più la macro quindi non so davvero come ho fatto. Sono stato in grado di selezionare ogni layout personalizzato però. Ma ho bisogno di ciclo attraverso ogni casella di testo in ogni layout e selezionare la lingua come bene. Il mio problema è rivolti ad ogni forma. Come posso fare questo?

Questo è quello che ho finora:

ActiveWindow.ViewType = ppViewSlideMaster

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

Questo loop fondamentalmente attraverso ogni layout. Ma io non riesco a capire come selezionare ogni segnaposto? Come posso fare questo?

Modifica: La risoluzione è ora:

For Each oLayout In ActivePresentation.SlideMaster.CustomLayouts
    oLayout.Select
    Dim oShape As Shape
    For Each oShape In oLayout.Shapes
        oShape.Select
    Next
Next
È stato utile?

Soluzione

Loop attraverso oLayout.Shapes, o forse oLayout.Shapes.Placeholders.

Altri suggerimenti

Grazie voi due. Avevo bisogno di una soluzione per l'aggiornamento di un oggetto incorporato di Excel nella diapositiva master. Questo mi ha portato alla soluzione perfetta

'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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top