座標の変数リストを使用してVisio POLYLINE関数を呼び出す


1

形状が形状の幅に依存するVisio 2010形状を設計しようとしています。つまり、形状のジオメトリを構成するセグメントの数と長さは幅に依存します。

各セグメントのLineTo行(シェイプシートのジオメトリセクション)を作成する代わりに、PolyLineTo行からPOLYLINE関数を呼び出すことを考えていました。この関数を使用して、別のセルからの座標のリストを使用する方法はありますか、例えば:

POLYLINE(1, 1, Scratch.A1)

Scratch.A1の文字列形式の座標リスト(「5mm、0mm、5mm、5mm」)でこれを試しましたが、うまくいかないようです。

回答:


1

これ(セルに複数の値がある)がサポートされているとは思わない。

複数のセルを使用して各XとYを保持することはあなたの唯一の選択肢だと思います

例えば:

POLYLINE(1,1,2,3,Scratch.X1,Scratch.Y1)

もちろん、これは複数のLineTo行を使用するよりも複雑です。


1

過去に使用した1つのアプローチは、POLYLINE数式全体を文字列として動的に構築し、必要に応じてターゲットセルにプッシュすることです。このテクニックを使用してスパークラインシェイプを作成した次の投稿をご覧ください。

http://visualsignals.typepad.co.uk/vislog/2009/05/simple-visio-sparkline-implementation.html


いいね それをもう少し詳しく説明すると役立ちますか?あなたのテクニックは、ポリラインの式をとして構築することUser.PolySet =DEPENDSON(Scratch.B12)+SETF(GetRef(Geometry2.A2),"=POLYLINE("&Scratch.B12&")")です。Scratch.B12がその価値を得る場所について詳しく説明していただけますか?
ミノプレット

上記の投稿のスパークラインシェイプは最大12ポイントをサポートし、ユーザーはシェイプデータウィンドウに値の配列として入力できます。これらの値のそれぞれにスクラッチ行があります。列Aは、それぞれの行を含めるかどうかを決定します。それが当てはまる場合、列Bは列Cと列Dから計算されたxy値を連結したものです。したがって、Scratch.B12は最終的な連結結果です。実際、式には既にセル依存関係(Scratch.B12)があり、Scratch.B12が変更されるたびにSETFが起動されるため、実際にはそのDEPENDSON関数は必要ありません。
ジョンゴールドスミス

元の質問の点では、最後に式全体をプッシュする限り、文字列を作成する基準はあなた次第です。
ジョンゴールドスミス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.