[Visio] フローチャートのループ端シェイプを作る

2014年12月7日

 かつて Visio 2003 では、フローチャート図形に「ループ端」があったはずなのですが、Visio 2010 (Visio 2007 は未確認) 以降なくなってしまっているようです。
 それは地味に困るので、フローチャート図形のカスタム図形4(準備)を変形させてループ端(上)を作る VBA を作成したのでメモがてら記す。

 以下のコードを VBE に貼って、VBE 上で実行すれば、アクティブページ上にループ端が作成されるはずです。
 下端も欲しい場合は、作成した上端図形をコピーして上下反転させてください。

Sub ループ端上図形作成()
    ' 図面左下に表示されます (座標 x=0,y=0)
    ' ループ端下はループ端上図形を上下反転させてください。

    ' カスタム図形=4 (準備) を図面に新規ドロップする
    Dim selectionShape As Shape
    Set selectionShape = Application.ActiveWindow.Page.Drop( _
                            Application.Documents.Item("BASFLO_M.VSSX").Masters.ItemU("Custom 4"), _
                            0, 0 _
                         )

    ' ループ端上に変形
    With selectionShape
        ' ---- A ----
        .CellsSRC(visSectionScratch, 0, visScratchX).FormulaU = "2.5mm"

        ' ---- Geometry1 ----
        .CellsSRC(visSectionFirstComponent, 1, 0).FormulaU = "0mm"
        .CellsSRC(visSectionFirstComponent, 2, 0).FormulaU = "Width"
        .CellsSRC(visSectionFirstComponent, 4, 0).FormulaU = "Width-Scratch.X1"
        .CellsSRC(visSectionFirstComponent, 5, 0).FormulaU = "Scratch.X1"
        .CellsSRC(visSectionFirstComponent, 7, 0).FormulaU = "0mm"
        .CellsSRC(visSectionFirstComponent, 3, 1).FormulaU = "Height-Scratch.Y1"
        .CellsSRC(visSectionFirstComponent, 6, 1).FormulaU = "Height-Scratch.Y1"
        .CellsSRC(visSectionFirstComponent, 7, 0).FormulaU = "Geometry1.X1"
    End With

End Sub





カテゴリー: Office, Visio

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org