Obtenir la forme par Id ou Nom
Est-il possible d'obtenir une forme si vous connaissez son Id
?
Par exemple:
Dim myshape As Shape
myshape.Id = 42
myshape = getShapeById(myshape.Id)
Ou, sinon, pourrais-je obtenir la forme en Name
?
Dim myshape As Shape
myshape.Name = "Rectangle 42"
myshape = getShapeByName(myshape.Name)
OriginalL'auteur Mateen Ulhaq | 2011-04-03
Vous devez vous connecter pour publier un commentaire.
L'obtention d'une forme
.Name
par son.Id
est un peu plus compliquée que faire sa.Id
ses.Nom
.Mais voici comment on fait:
OriginalL'auteur Todd Main
Pour obtenir un
Shape
parName
, vous ne...:.Id
) comme dans mon post.Ouais, mais je n'ai pas vraiment compris le code entièrement jusqu'à maintenant. 🙂
Que faire si l'objet n'existe pas? Comment pourrais-je vérifier avant d'accéder à quelque chose en vba?
Voulez-vous dire si le nom n'existe pas? Quelque chose comme ça, peut-être: pastebin.com/1Fk8WQCB
OriginalL'auteur Mateen Ulhaq
Pas sûr à ce sujet par l'ID, mais par l'utilisation du nom de la feuille des Formes de l'objet de collection de
par exemple
ActivePresentation.Slides(Slide).Shapes()
droit maintenant, et il semble prometteur...OriginalL'auteur chris neilsen
où
k
est le numéro de la diapositive etj
et la forme du numéro de la diapositive.Vous pouvez exécuter une boucle sur chacune des pages des formes avec quelque chose comme:
Chris
OriginalL'auteur Chris Christiansson