KoMaDo   VISIO SQUARE : ShapeSheet  ■ Headline ■ HOME    

ShapeSheetトップへ ▼カッ飛び最後   全レスを表示

  接着されている認識について

01: 名前:M2号投稿日:2005/12/26(月) 20:35
線(1次元図形)にて、自分のシェイプが他のシェイプに接着されているかどうか
判断する方法は無いのでしょうか?
やりたい事は、接着されている時にある部分を表示し、接着されていない時に
ある部分を非表示にするといった事です。
シェイプシートを見ると、BeginX、BeginY、EndX、EndYセルが接着している時と、
接着していない時で式と値が切り替わりますが、色々と試してみましたが判断
する方法がわかりません。
VBAなどのイベントを使えば出来そうですが、シェイプシート内だけで実現したい
と考えております。

02: 名前:yoda投稿日:2005/12/26(月) 21:55
ConnectionsAdded イベント、ConnectionsDeleted イベントで、
接続を検出し、シェイプのUser Defined Cellに、書き込むという
方法はどうでしょう。

03: 名前:yoda投稿日:2005/12/26(月) 22:12
ごめんなさい。シェイプシート内だけでしたね。
コネクターのGlueInFoセクションの式を加工して、
接続先のシェイプ名をMID関数か何かで抜き出し、
User Defined セルに書き込無と言うのは、
どうでしょう。シェイプシート内だけでは、そのくらいしか
できないでしょう。考え済みとは思いますが。

04: 名前:M2号投稿日:2005/12/27(火) 09:36
yoda様。いつもありがとうございます。
GlueInFoセクションの動きは確認させて頂きました。
しかし、BeginX、・・・も同様ですが、接続先のシェイプ名を取り出すには、セルから値ではなく
式を参照しなければなりません。
こちらも拝見しましたが、シェイプシート内では、値しか参照できないのでしょうか?

数式の参照方法について
http://www.mster.co.jp/visiosquare/cgi-bin/visbbs/mibbs.cgi?mo=p&fo=shape&tn=0092 [source] [check]

05: 名前:yoda投稿日:2005/12/27(火) 10:28
多分、シェイプシート内では、値しか参照できないのでしょう。

06: 名前:M2号投稿日:2005/12/27(火) 10:49
内輪ですが、M1号が別の方法を発見しました。
ちょっと無理矢理な方法ですが、
BeginX、BeginY、EndX、EndYなどのセルに、Visio2003から搭載された「SETATREF」関数を
使用してUser Defined セルに値を転送して、その値がポイント(座標)であるか?をABS関数で
(エラーが発生するかどうかで)判断することが出来ました。

07: 名前:yoda投稿日:2005/12/27(火) 11:38
私には難しくて、よく分かりませんが、接続先が分からなくてもよいなら、
GlueInFoセクションのセルの値が1か2かで、接続しているかどうかは、
判定できるような気がしますが、、、、

08: 名前:M2号投稿日:2005/12/27(火) 14:00
> GlueInFoセクションのセルの値が1か2かで、接続しているかどうかは、
> 判定できるような気がしますが、、、、

ありがとうございます。大変参考になりました。
(シェイプシートの表示を「値」にしていなかったので、気付きませんでした)
それにしても、アンダースコア付きの内部関数について、結果の値だけでも
正式に公開して欲しいものです。
例)
「_XFTRIGGER」は、接着されていない場合=1、接着されている場合=2 ?

09: 名前:yoda投稿日:2005/12/27(火) 20:01
試しに、GlueInfoセクションのセルの値で、接続を認識し、接続したら
矢印をつけ、テキスト表示を変えるコネクタを作ってみました。
そのコネクタの入ったステンシルを、upload bbsにアップロードしました。
http://www.mster.co.jp/visiosquare/cgi-bin/cbbs/file/1135681073.lzh [source] [check]

10: 名前:M2号投稿日:2005/12/27(火) 20:19
> そのコネクタの入ったステンシルを、upload bbsにアップロードしました。

拝見いたしました。
私のイメージ通りです。ありがとうございます。

11: 名前:削除されました投稿日:削除されました
削除されました


ShapeSheetトップへ ▲カッ飛び先頭   全レスを表示