PowerPoint VBA - Per ciascuna forma in ogni layout in MasterView
-
15-10-2019 - |
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
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 ??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