|
|
|
|
|
今まで、ここで紹介した
Visaual Calculation のシェイプは、計算結果を、コネクターの上に数字で出していました。今度は、計算結果をグラフで表示する、モニターという名のシェイプを作ってみました。計算結果をもっとビジュアルに表現することができます。
|

|
上のフローチャートは、三角関数の
sin を計算するフローチャートです。
入力側(左側)には
COUNTER があります。 このカウンターをダブルクリックすると、sin
関数の入力データが、一定間隔で増加します。 今の場合は、カウンターのSTEP
は0.5にしてありますのでカウンターの出力は、0.5づつ増加します。このカウンターの出力が、sin
関数に入って、計算結果が出ます。カウンターをダブルクリックすると、
sin 関数の出力は、どんどん変化します。この結果を、直接グラフで表示できると、もっと訴える力があります。
|

|
上の図は
sin 関数の次にモニターを追加したものです。 カウンターを何回もダブルクリックすると、モニターに折れ線が現れます。カウンターを続けてダブルクリックすると、だんだんとサインカーブらしくなってきます。
このモニターは、あらかじめ設定が必要です。
モニターをダブルクリックします。 またはマウスの右ボタンをおすと、3っつのポップアップメニューが出てきます。
それは、 Settings と Clear Display と
Flip Horizontal です。
そのうちの、Settings
を選択すると、設定画面が出ます。(下図)
|

|
上の図の一番上のオプション、Direction
of Input は、モニターの入力端子の位置を設定するオプションです。入力端子の位置は、上下左右の4種類あります、Top,Left,Righ,Bottom
となっています。今は、Leftですから、左側です。
その下の
Max は、入力データの最大値です。最大値より大きな数でもOKですが、最大値より小さい数を入力すると、描かれるグラフが、モニターの画面からはみ出します。
その下の
Min は、まったく同様に、入力データの最小値を入力します。
今は、上の図のようになっています。
|
はじめにご紹介したように、モニターには、Shapesheet
version と VBA version の2種類のバージョンがあります。上の課題の場合は、私の環境では、どちらでもまったく同じよう動きました。しかし、皆さんの環境でも私の場合と同じかどうかわかりません。
と言いますのは、Shapesheet
version のモニターの場合は、Visioの開発者用のマニュアルでは、やってはいけないと書かれている禁止事項を使っているからです。開発者用のマニュアルによれば、シェイプの中で、次々と状態を変えるような動作をさせた場合は、動作を保証することができない、というようなことが、書かれているからです。
そのために、私は、シェイプの中で次々とグラフの折れ線を描画するところを、VBAマクロに置き換えたものを作りました。VBAのマクロは、書かれたプログラムを上から順に処理しますので、実行の順番が狂う心配がありません。
したがって、もしもあなたの環境で、Shapesheet
version がうまく動かないときは、VBA
version のモニターを、試してみてください。
|

|
上の図は、級数の和で出てきたフローチャートにモニターをつけたものです。
一番左側の [SW]
を 10回ほどダブルクリックすると、下図のようになります。
|

|
Accumulator
の出力が 1 から、次第に 2 に近づく様子が、グラフで、表わされました。
モニターの設定は、入力が上側、最大値が2、最小値が0に設定してあります。モニターの左側に書いてあるMax
と Min は、Visio2007の「データグラフィックの編集」で、設定値を表示させたものです。
この場合も、最初のサイン曲線の場合と同じように、モニターは、どちらのバージョンのものでも、私の環境では、同じでした。皆さんの環境ではいかがでしょうか。
|

|
上の図は、級数の和で出てきたぐるぐるまわしのフローチャートです。禁断のぐるぐるまわしです。このフローチャートの計算結果をモニターにグラフ表示させるには、どうしたらよいでしょう。そのためには、下図のようにします。
|

|
上の図は、級数の和のフローチャートの、ACCUMULATOR
の出力のコネクターの途中にBRANCHを入れて分岐し、モニターを追加したものです。この場合は、Sapesheet
version, VBA version の両方を追加しました。フローチャートの真ん中にある LIMITTER のLimit
は10としました。
こうしておいて、フローチャートの一番左側のSWITCHを切り替えると、下図のようになりました。
|

|
上の図では、左側のモニターが
Shapesheey version, 右側のモニターが
VBA version です。
明らかに違います。 Shapesheet
version は、正しいグラフを表示していますが、VBA
version の方は、どこかへんです。 VBA
version の場合は、処理速度が遅くて入力値の変化の速さについてゆけなかったようです。どうやら、Shapesheet
version と VBA version には、それぞれ、長短があるようです。皆さんの環境ではいかがでしょうか。
|
|

|
|
|
上の図はモニターを左右反転させたものです。反転させるには、マウスの右ボタンを押したときにでるポップアップメニューから、
Flip Horizontal を選びます。 左右反転させると、グラフの水平方向の軸が反対向きになり、普通のグラフと同じようになるので、見やすいかもしれません。左右反転させる前は、トレンドグラフのようになっていましたね。
|
|
|
==>サンプル図面のダウンロード
|
|
|
|
|
|
計算結果のテキスト表示機能
|
|
|
計算結果をテキストで表示できる、MONITOR3とMONITOR4を追加しました。
MONITOR3はShapeSheetバージョン、MONITOR4はVBAバージョンです。
新しいモニターは、ステンシルからドロップした時点でテキストが表示されるようになっています。
モニターの上でマウスの右ボタンを押したときに出てくるポップアップメニューに、「Hide
Text」と「Copy Text」が追加されました。 Hide
Text をクリックすると、テキストが消去されて、グラフだけが表示されます。
このとき、右ボタンを押して、ポップアップメニューから、今度は「Show
Text」を選択すると、再びテキストが表示されます。テキストが表示されているときに「Copy
Text」をクリックすると、表示されているテキストがコピーされます。その状態で、テキストファイルやExcelの表で「貼り付け」をすれば、計算結果を複写することができます。
|
|
|
以下、2008年2月8日に追加しました。
|
|
|
Text
Copy を実行しても、テキスト全体がコピーできないというバグがありましたので、訂正しました。
|
|
|

|
|
|
==> サンプル図面のダウンロード
|
|
|
|
|
このページのTOPに戻る
|