2012-02-28 51 views
2

VBAを使用して現在のVisioドキュメントのすべての図形を実行して、一部の文字列をエクスポートしようとしています。VBA(Visio)でグループ化された図形を選択します。

これは簡単ですが、グループ化された図形を取得する方法はわかりません。これにより

:私はすべての親の形にアクセスするつもりです

Dim vsoShapes AS Visio.Shapes 
Dim vsoShape AS Visio.Shape 
Set vsoShapes = Application.ActiveWindow.Page.Shapes 
For Each vsoShape In vsoShapes 
    ' my code 
    ' my code 
Next 

。私が望むのは、子供の形にアクセスすることです。 グループ化された(親)シェイプのグループを解除せずにアクセスできますか?

+0

あなたはグループの形にアクセスすることができ、すなわち: 'vsoShape.Shapes(1).nameの実際' – vulkanino

+0

、それが動作します。 – dyesdyes

+0

実際に通常の図形は、図形swimlaneなどの形を取ることができるので、このコードは有効ではないと思いますが、どの図形がグループプロパティのセクションを調べることによってグループ化されているか把握する必要があります... – Marko

答えて

2

Shapesのプロパティ(vsoShape.Shapes(1).Name)を使用できます。

全ループ:

Dim vsoShapes AS Visio.Shapes 
Dim vsoShape AS Visio.Shape 
Dim i As Integer 
Dim shapeCount As Integer 

Set vsoShapes = Application.ActiveWindow.Page.Shapes 
For Each vsoShape In vsoShapes 
    shapeCount = vsoShape.Shapes.Count 
    If shapeCount > 1 Then 
    i = 1 
    For i = 1 To shapeCount 
     MsgBox vsoShape.Shapes(i).Text 
    Next i 
    End If 
Next 
+0

解決方法の精度を高めるために質問のコードを修正しました – dyesdyes

関連する問題