VISIOでVBAを使っての図形描画

このQ&Aのポイント
  • VISIOで自動で図形を描画するVBAを作成しております。テキストからのデータの取得、取得したデータにしたがっての、長方形の作図、線の作成は出来ました。
  • しかし、取得した座標を使っての図形の描画(例:三角形、中が塗れるやつ)が上手くできません。
  • マクロの自動記録では1個の三角形を書くマクロが生成され、目的のような使い方は出来ませんでした。
回答を見る
  • ベストアンサー

VISIOでVBAを使っての図形描画

VISIOで自動で図形を描画するVBAを作成しております。 テキストからのデータの取得、 取得したデータにしたがっての、 長方形の作図、線の作成は出来ました。 この発展系として、 取得した座標を使っての図形の描画(例:三角形、中が塗れるやつ)が 上手くできません。 VISIOで普通に線を書くと、線をつなげて書いて、 最後に始点とつなげると、自動で図形になり、中を塗ることが出来るようになります。 ためしに、マクロの自動記録で、↑の作業をマクロ化してみましたが、 1個の三角形を書くマクロが生成され(ShapeのIDが決め打ち) 目的のような使い方は出来ませんでした。 お手数ですが、サンプルコード等ありましたら、お教えください。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

私はVISIOを持っていません(かつて職場で少し使った程度)VBAの経験はありません。しかしPPTの例を http://msdn.microsoft.com/ja-jp/library/aa157690.aspx エクセルに書き直すと、三角形作成と内部色を、つける点で旨く行きました。 フリーフォームを使うやり方です。 もし参考になれば。 フリーフォームを使うまでもないとか、少し変えてもうまく行きそうに無ければ、下記を無視してください。 ーー エクセルの例 三角形を描く Sub test01() With ActiveSheet.Shapes.BuildFreeform(EditingType:=msoEditingCorner, X1:=560, Y1:=300) .AddNodes SegmentType:=msoSegmentLine, EditingType:=msoEditingAuto, _ X1:=380, Y1:=200 .AddNodes SegmentType:=msoSegmentLine, EditingType:=msoEditingAuto, _ X1:=280, Y1:=400 .AddNodes SegmentType:=msoSegmentLine, EditingType:=msoEditingAuto, _ X1:=560, Y1:=300 .ConvertToShape.Select Selection.ShapeRange.Fill.Visible = msoTrue Selection.ShapeRange.Fill.Solid Selection.ShapeRange.Fill.ForeColor.SchemeColor = 19 End With End Sub ーー ●msoEditingCorner, X1:=560, Y1:=300) 始点が、左から500、上から300  A点 ●msoEditingAuto, X1:=380, Y1:=200 第2点、左から380、上から200  B点 左上に上がる ●msoEditingAuto, X1:=280, Y1:=400 第3点、左から280、上から400  C点 左下に下がる ●EditingType:=msoEditingAuto, X1:=560, Y1:=300 始点に帰る。           A点(始点)右上に上がる これで閉曲線(実はこの場合は直線)になる これ(閉曲線になって)で内部に色をつけられる。 ーー 残りは内部に色を着けるコード部分。 ーーー 似たコードでPPTとエクセルで出来ているから、VISIOでも少し変えると出来るかも。 ActiveSheetのところは、もちろんVisio向け(ActiveDocument?)に変えてください。 ーーーー Googleで「VISIO VBA」で照会すれば関連記事が出ますよ。 http://msdn.microsoft.com/ja-jp/office/cc917523.aspxほか http://msdn.microsoft.com/ja-jp/cc936656.aspx#shape01_3

関連するQ&A

  • Excelでの図形の描画

    Visual Basicでフォームに図形を直接描画できる様に、Excelでオートシェイプなどのオブジェクトを使用しないでシートに対して直接、図形(線や円など)を描画する事は可能でしょうか?

  • Wordのヘッダでの図形描画

    元々作られていたWordの文書を修正しているのですがわからない部分があります。 フッダーヘッダーで枠が描かれていて、その中に文章が書かれています。 フッダー、ヘッダーに画面を切り替えると、その枠の線を移動することが できます。(図形描画を使っているみたいです) 全文書中のほんの数ページだけ、枠の線の一部を消したいのですが、 セクションの区切りをつけても他のページに反映されてしまいます。 ヘルプで見て、わからないなりにいろいろやってみてはいるのですが、 やっぱりできません。 一部の線を消したいのは、その枠の中に他の小さな表を罫線で引いて 作りたいので、元々ある枠の線が邪魔になるからです。エクセルやVISIOで 作ってから貼り付けた方が良いのでしょうか? できれば、フッダーの図形描画されている方の線を変えたいです。 説明が下手ですいません。どなたか教えてください。よろしくお願いします!!

  • 図形描画

    ワードでテキストを使用すると図形描画が出その中で作成し必要な場所 で貼り付けています。図形描画の枠が出ず好きな所で使用するには どうしたらいいのですか どなたな教えて頂けませんか? パソコンは古く2000です。

  • 図形描画

    矢印やテキストボックスなど、すべてにおいて色を伴うものが現在の設定では勝手に塗りつぶしになっていたり、線を引いてもハンドルが見えるだけで書式設定を開くと色と線のところには“線なし”と表示されたり。。。。 いちいち書式設定で修正して保存しても、閉じて又開き、早速図形描画を使って→や線、四角やマルを描くと元の状態に戻ってしまいます。 描画ツールバーのオートシェイプの規定値のボタンも押したけど、なんら変更ありません。意図的にこんな設定にした覚えは無いので困っています。どなたかご教授ください。

  • 立体図形を扱えるドローソフトをおしえてください

    私は、windows+VISIOで作図しています。 visioでは、作成した図形(四角、丸など)のサイズ、座標データを EXCELデータに落とせるので、活用していました。 ところが、visioでは円柱、直方体等の立体図形の奥行きを 長さ(mm)で指定できません。 やり方、または、このようなことを出来るソフトウエアを教えてください。

  • 描画を作成せずに図形を作成する

    ワード2003で 「描画を作成せず、すぐ図形描画できるようにする」 には「ツール」→「オプション」→全般から 「☐オートシェイブの挿入時、自動的に新しい描画キャンパスを作成する」のチェックを外すと描画キャンパスを作成せずに図形を作成できるが、 2007ではどのようにすればよいのでしょうか。

  • 図形の描画が消えてしまうのですが

    こんばんは、よろしくお願いいたします。 OS:Win xp  エクセル2002 マシン:sony vaio エクセルで図形の描画(オートシェイプを使って)をしました。そして、その図形の描かれている範囲以外の所まで画面をスクロールしてから元の図形の所にまたスクロールで戻ってくると、図形が欠けてしまいます。(テキストの部分は大丈夫ですが、線がかけてしまいます) ワードを使って同じような作業をしてみましたが大丈夫でした。 原因として少し思い当たるのは、《カタン》というゲームをインターネットでダウンロードした直後だったということです。《カタン》はすぐにアンインストールしましたが、症状は変わりませんでした。 こんな状況ですが、これは一度エクセルをインストールし直せば良いのでしょうか?アドバイスをお願いします。

  • エクセルで図形描画のツールバーを出したい

    WindowsXpSP3 エクセル2003SP3 で図形描画のツールバーが出ません 「表示」-「ツールバー」もしくはツールバーのところで右クリックしたメニューにも図形描画という選択肢が無いために図形描画ツールバーを出すことが出来ません。ユーザー設定のツールバー一覧でも選択肢がありません。 また、ツールバーのユーザー設定で図形描画アイコンを適当なツールバーに配置しクリックしたり、標準のツールバーにある図形描画アイコンをクリックしても何も反応がありませんでした。 ワードで図形を作成し(ワードでは図形描画ツールバーは出ます)エクセルに貼り付けたり、エクセルを再インストールしても変化はありませんでした。 なお、挿入→図→オートシェープも何も反応がありませんし、図形描画以外にも図という選択肢もありません。 図形描画ツールバーや図を出すにはどのようにしたらいいのでしょうか。

  • 図形描画が表示しない

    エクセルで図形描画の矢印→を利用したところ、線が表示しません。右クリックで線を表示させてますが、毎回のように線が出ません。このファイルで別のシートを作成しても同様に表示しません。他のファイルは、→が表示されます。 何か設定ですか?

  • Excelのグラフに重ねて描画した図形が表示されない

    Excelでグラフを作成し、その上に重ねる形で図形を描画しました。 (グラフを選択したのち、図形描画ツールバーの「オートシェイプ」ボタンを使って作成しました) すると、グラフの選択を解除すると、描いたはずの図形が消えてしまいます。でも、グラフを選択すると、表示されます。印刷プレビューでも表示されますし、実際に印刷もされます。 グラフを選択していなくても図形が表示されたままにしたいのですが、どうすればよいかご存知の方、ご教授下さい。

専門家に質問してみよう