第 19 章 VISIO ソリューションでの接続のオートメーション化
Connect オブジェクトには、それが表す接続に関する情報を返すプロパティがあります。そのプロパティを利用して、接続する図形や図形の接続部分を指定することができます。たとえば、図形の頂点や側面などを指定できます。
このセクションの内容...
FromSheet プロパティと ToSheet プロパティは、接続された図形を表す Shape オブジェクトを参照します。図形は、シェイプシート (ShapeSheet®) ウィンドウで表示されるように、スプレッドシートで内部的に定義されます。これらのプロパティは、内部スプレッドシートから図形の名前を取得します。
FromSheet プロパティは、接続元の図形を返します。ToSheet プロパティは、接続先の図形を返します。たとえば、「重役」と「担当者」という名前の 2 つの図形を含む図面があるとします。「担当者」の図形は「重役」の図形に接続されています。「担当者」の図形の Connects コレクションには、Connect オブジェクトが 1 つあります。FromSheet プロパティは「担当者」を返し、ToSheet プロパティは「重役」を返します。
特定の図形に接着された図形を見つけるには、FromConnects プロパティを使用します。FromConnects プロパティは、Connects コレクションを返します。コレクション内の各 Connect オブジェクトの FromSheet プロパティは、接着元の図形を特定します。4 つの図形 A、B、C、およびD のそれぞれを E に接着した場合の例では、E の FromConnects プロパティから返された各 Connect オブジェクトのFromSheet プロパティは A、B、C、および D を参照します。
図形の FromConnects プロパテイが返したコレクション内の Connect オブジェクトを使用する場合は、1 つの図形に接続された図形を探すのが一般的です。このような情報は、各 Connect オブジェクトの FromSheet プロパティで提供されます。ToShee プロパティでも同様です。
FromPart プロパティと ToPart プロパティは、図形上の一般的な接続位置を示す定数を返します。FromPart は、図形の接続元部分を表します。ToPart は、図形の接続先部分を表します。FromPart と ToPart の有効な定数は、Visio® タイプ ライブラリで定義されます。
次の図では、FromPart と ToPart の値を示します。この値が返されることにより、図面上の接続部分が示されます。
図面上での一般的な接続を示す FromPart と ToPart の値
次の表では、一般的な図形間の接続と、上の図で示された図形の FromPart と ToPart プロパティが返す定数を示します。
接続に関する FromPart と ToPart 定数
接続 | FromPart | ToPart |
---|---|---|
コントロール ハンドルを接続ポイント、ガイド、またはガイド ポイントに接着 | visControlPoint + n |
visConnectionPoint + n visGuideX visGuideY |
1 次元の図形を接続ポイントに接着 |
visBegin visEnd |
visConnectionPoint + n |
2 次元の図形をガイドまたはガイド ポイントに接着 |
visRightEdge visLeftEdge visTopEdge visBottomEdge visMiddleEdge visCenterEdge |
visGuideX visGuideY |
1 次元の図形をガイドまたはガイド ポイントに接着 |
visBeginX visEndX visBeginY visEndY |
visGuideX visGuideY |
1 次元の図形を動的に図形に接着 |
visBegin visEnd |
visWholeShape |
図形には複数のコントロール ハンドルがあるため、visControlPoint は図形で定義された 1 つ目のコントロール ハンドルを表します。FromPart が返す値が visControlPoint より大きい場合は、図形の (n+1) 番目のコントロール ハンドルを表します(n は FromPart から visControlPoint を引いた数です)。この数は visConnectionPoint でも同様です。ToPart が返す値が visConnectionPoint より大きい場合は、(n+1) 番目の接続ポイントを表します。
図形内の選択ハンドル、頂点、またはファイルの場所により、自動的に接続ポイントが作成されますが、これらの項目の定数は定義されません。図形の接着可能な部分の詳細については、「セクション 4 接続する図形の決定」の「接着元と接着先」を参照してください。
Connect オブジェクトの FromCell と ToCell プロパティは、接続しているシェイプシートのセルを表す Cell オブジェクトを参照します。セルの数式、その結果、または他の Cell オブジェクトのプロパティを取得して、別の Cell オブジェクトとして使用できます。たとえば、GlueTo メソッドの引数として使用できます。
接続図を分析する場合は、次の点を確認してください。
たとえば、図面上で 2 次元の図形間の接続に 1 次元の図形が使用されているのか、コントロール ハンドルを使用して一方の図形から他方の図形への線が引かれているのかを確認します。図形間の線はすべてコネクタ マスタのインスタンスなのか、直線ツールで描画されたものなのかなども調べます。
たとえば、ページ上の図形を積み重ねる順序によっては、実際に接着された図形が影響を受ける場合があります。マウスを使って複数の図形を他の図形の同一ポイントに接着すると、本来接着すべきではない別の接着された図形に接着してしまう可能性があります。その例を次の図で示します。
図形を積み重ねる順序は接続に影響します。
たとえば、1 次元図形の始点と終点はどちらも他の図形に接着できます。さらに、始点と終点はどちらも書式を設定して矢印にすることができます。図面上の矢印が 1 次元図形の終点であるような場合は、図面を正確に分析できない可能性があります。