2016-06-27 8 views
0

謝罪これはかなり基本的なようですが、私は十分な文書を見つけることができません。 私は基本的に(私が想像して)多少のようになります。Visioの16に私が探しているコードをVBAを使用して、シェイプシートの「形状データ」の行を循環する必要があります。Visioでサイクル「形状データ」

sub printLabelsAndProps() 
    for each x in UnknownGroupOfThings 
     debug.print x.prop.DataAndDocuments 
     debug.print x.prop.Supports 
    Next 
end sub 

ヘルプ

答えて

0

あなたのすべての図形に「DataAndDocuments」と「Supports」プロパティがあることがわかっている場合は、下のコードのようなものを使うことができます(そうでなければ、形状が.CellExistsを持つかどうかを確認する必要があります)。また、セルに計算された文字列が含まれている場合は、.Formulaの代わりに.ResultStr()を使用する必要があります。

Sub showAllProperties(x As Shape) 
    For i = 0 To x.Section(visSectionProp).Count - 1 
     Debug.Print x.CellsSRC(visSectionProp, i, visCustPropsLabel).Formula 
     Debug.Print x.CellsSRC(visSectionProp, i, visCustPropsValue).Formula 
    Next 
End Sub 
:これらの値が数値であれば、あなたも、あなたは、単一の形状のすべてのプロパティを順番にしたい場合は、あなたがこのような何かを行くことができる .Formula

Sub printLabelsAndProps() 
    For Each x In ActivePage.Shapes 
     Debug.Print x.Cells("Prop.DataAndDocuments").Formula 
     Debug.Print x.Cells("Prop.Supports").Formula 
    Next 
End Sub 

なしで行くことができます