- 01: 名前:VisioMania投稿日:2001/08/22(水) 11:19
- お世話になります。
環境:Windows2000 Professional,Visio2000 standard SR1
※質問内容
どなたか線の頂点の数をVBのプログラムで変更する方法をご存知ですか?
(言いかえると、複数の頂点<折れ曲がり>の位置を全て定義して線
を引くことができるか?)
※経緯
現在、ある別システムで作ったフローと全く同じ形状をVisioに移行する
システムを製作しているのですが線を引いただけでは別システムと
同じ線の形状になりません。ですから線を引いた後に頂点の数を変更
しないといけなくなりました。
※Visioのスペックについて
皆様ご存知とは思いますが、線(コネクタ)の頂点はシェイプシートの
図形座標セクションで定義されていて、始点がMoveTo行で、以後の
直線の終点ごとにLineTo行で定義されています。手動で頂点の数を
変更するには、線の両頂点につながった2次元シェイプの位置を移動
させたり、線の途中をドラッグすればできます。このときにシェイプシート
ではLineTo行が自動で増減します。
※コーディングについて
ですから普通に考えると
LineTo行をVBを使って追加削除すれば頂点の数を変更できると思う
のですがうまくいきません。他のセクション、行と同じ方法でコーディング
しているのですが。。
- 02: 名前:中投稿日:2001/08/29(水) 18:59
- 私も過去(Visio5+の時)に同じようなことで、
詰まってしまったことがありました。
その時は、普通の直線では行の追加削除が出来るのに、
コネクタツールで作成した線では行の追加が出来ない現象でした。
(削除は出来ましたが...)
Visio5+で解決した方法なので、
VisioManiaさんの問題が解決出来るかわかりませんが、
私は以下の方法で解決出来ました。
@現在の[図形座標]セクションの情報を全て取得する
A[図形座標]セクション内の行を全て削除する
B再び新規に行を追加する
Cセルに値をコピーする
ポイントは、行を全て追加した後で、値をコピーするところでした。
■トップに戻る リロード 単独スレ表示
|