Question

Est-il possible d'obtenir une forme de Id si vous savez que c'est Name?

Par exemple, si j'ai ceci:

Dim myshape As Shape
myshape.Name

Puis-je obtenir Id?

myshape.Id = getIdByName(myshape.Name)
Était-ce utile?

La solution

Bien sûr, il est assez straigtforward:

Sub PrintShapeID()
    Debug.Print getIDByName("My Shape", 1)
End Sub

Function getIDByName(shapeName As String, slide As Integer)
    Dim ap As Presentation: Set ap = ActivePresentation
    Dim sl As slide: Set sl = ap.Slides(slide)
    Dim sh As Shape: Set sh = sl.Shapes(shapeName)
    getIDByName = sh.Id
End Function

Cela fonctionne pour la diapositive que vous spécifiez.Vous pouvez également faire une boucle par toutes les diapositives, mais notez qu'il peut y avoir plus d'une forme avec le même nom, alors vous devez comprendre que l'on vous le souhaitez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top