Obtenir la forme Id par Nom
-
13-11-2019 - |
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)
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