第 19 章 VISIO ソリューションでの接続のオートメーション化
Visio® では、図面内の図形どうしを接続または接着することができます。Visio オブジェクト モデルでは、この関係は Connect オブジェクトで表されます。
Visio オブジェクト モデルにおける Connect オブジェクトとその関係
Connect オブジェクトを 参照すると、どの図形がどのように接続されているかが分かります。フローチャートのような有向グラフや組織図のような接続した図表を分析する場合は、shape、Master、および page オブジェクトに対応する Connect オブジェクトのプロパティを利用します。
Page オブジェクトの Connects プロパティは、ページ内のすべての接続を対象とする Connect オブジェクトを含む Connects コレクションを返します。Master オブジェクトの Connects プロパティは、マスタシェイプ内のすべての接続を対象とする Connect オブジェクトを含む Connects コレクションを返します。
図形オブジェクトには、2 つの接続関連プロパティがあります。
たとえば、A と B という名前の 2 つの図形と、A と B を接続する C という名前の 1 次元の図形が配置された図面があるとします。
1 次元図形で接続された 2 つの図形
図形 C の Connects コレクションには、2 つの Connect オブジェクトがあります。一方は A との接続を表し、他方は B との接続を表します。A と B は接着されていないため、接続コレクションは空です。ただし、図形 A と B の FromConnects プロパティから返された各Connects コレクションには、図形 C との接続を表す Connect オブジェクトが含まれます。また、図形 C を対象とする FromConnects プロパティから返された接続コレクションは、空になります。
または、A、B、C、および D という名前の 4 つの図形があるとします。それぞれの図形には、E という名前の図形に接着されたコントロール ハンドルがあります。
E が A、B、C、および D に接着されたのではなく、A、B、C、および D が E に接着されたため、E の Connects コレクションは空になります。A、B、C、および D の各 Connects コレクションには Connect オブジェクトが 1 つ含まれます。
図形 A の Connects コレクションを取得するには、その Shape オブジェクトの Connects プロパティを取得します。例を次に示します。
Set consObj = shpObj.Connects
図形 A のConnects コレクションには、A が E に接続されていることを表す Connect オブジェクトが含まれます。また、図形 B、C、および D の Connects コレクションについても同様です。E が他の図形に接着されているのではなく、他の図形が E に接着されているため、E の Connects コレクションは空になります。