none
[Visio 2003 - VBA] Zugriff auf Shape-Ids in markierten Gruppen-Shape RRS feed

  • Frage

  • Liebe Community,

    ich stehe vor dem Problem, dass ich auf die Ids von Shapes zugreifen muss (per VBA), die als Gruppe organisiert sind.

    Damit der Algorithmus erkennt, welche Gruppe (mit den beinhaltenden Shape-IDs) er untersuchen soll, würde ich dies selektieren.

    Ich habe jetzt schon ein bisschen mit den verschiedenen Methoden und Eigenschaften rumgespielt, allerdings komme ich zu keiner Lösung.

    Es wäre echt super, wenn mir jemand ein Code-Snippet zur Verfügung stellen könnte, dass ich diese Richtung geht.

    Vielen Dank und einen angenehmen Arbeitstag.

    Gruß

    Patrick

    Mittwoch, 19. Oktober 2011 10:53

Antworten

  • FYI

    Ok, ich habe es herausgefunden!

    Leider gibt es in VBA 2003 keine so elegante Funktion wie ab 2007 (Selection.getIDS()), die einem sämtliche Shape-Ids der Gruppe liefert.

    Ich habe es jetzt so gelöst:

    1. Über die Methode Selection.PrimaryItem.ID die ID des "Rahmenshapes" ermitteln.

    2. Die IDs dann einfach mit der konkreten ID-Nummer ansprechen, da sie innerhalb der Gruppe nur hochgezählt werden.

    Nach einigen Tests funktioniert das wunderbar in meinem Fall, da meine selbsterstelltes Shape ja eine fixe anzahl an Elementen hat und Visio nicht eine x beliebige ID vergibt, sondern einfach nur hochzählt.

    VG

    Patrick

    Donnerstag, 20. Oktober 2011 07:58