KoMaDo   VISIO SQUARE : VB/VBA  ■ Headline ■ HOME    

VB/VBAトップへ ▼カッ飛び最後 

  Activeなグループのメンバー図形の取得

01: 名前:mar投稿日:2007/10/26(金) 10:42
グループShapeの子Shapeを選択しているとき そのShapeを取得するのはどうすればよいのでしょう?
ActiveWindow.Selection(1).name
では "無効な選択識別子です" と怒られてしまいます。
グループShapeを選択しているときは 取得できるのですが???
宜しくお願いします。

02: 名前:UR投稿日:2007/10/26(金) 13:39
親の中の子を選択、というふうに
ActiveWindow.Selection(1).Shapes(2).Name
で取得できると思います。

03: 名前:yoda投稿日:2007/10/26(金) 13:43
URさんの解答でもよいですが、選択されたシェイプのIndexが分らない場合は、
IterationMode プロパティを使う方法があります。
ちょっとややこしくなりますが、
Sub test()
' 最初に子シェイプをセレクトしておく。
Dim mySlection As Visio.Selection
Dim shp As Visio.Shape
Set mySlection = ActiveWindow.Selection
mySlection.IterationMode = visSelModeOnlySub
For Each shp In mySlection
Debug.Print shp.ID, shp.Name,
Next
End Sub

04: 名前:mar投稿日:2007/10/26(金) 15:17
URさん、yodaさん ありがとうございます。
Slection.IterationMode = visSelModeOnlySub
は参考になりました。
活用させてもらいます。


VB/VBAトップへ ▲カッ飛び先頭