2011/09/13

ExcelデータからPowerPoint図形やVisio図形を作成するマクロを公開しています.

ExcelData - VisioFigure Converter : VBAマクロ

ノードとリンクを含むグラフを描くのは意外と大変ではないでしょうか?
簡単なネットワーク図でも,値ごとにリンクの太さや色を変えて…と編集しようとすると,結構手間がかかったりします.

このマクロでは,ノードのx,y座標とリンクの始ノード終ノードを入力するだけでネットワークの大枠が出来上がります.
更に,線の太さや色,矢印,テキスト等をエクセル上で編集できるので,簡単にネットワーク上の数値を可視化できます.


Excelシートの各行が1つの図形情報を表すデータとして扱われます.
Excelシートの最上行はラベルです.
   ※一致する名前のラベルが存在しない場合は,いずれかのマクロを実行すると,対応するシートとラベルが自動的に作成されます.
   ※Excelシートの最上行はラベルで,ラベル名・ラベルの存在する行を変更すると対応関係が崩れますが,
    各列の順序等は変更しても問題なく動作します.よって,メモなどを間に挟むことも可能です.


PowerPoint,Visioのマクロはインストールされていないとエラーとなりますが, 実行時にアプリケーションが起動していなくても自動的に起動します.
  ※Visio/PowerPointが無くてもVisio/PowerPoint以外のマクロは使用可能
  ※Visioマクロが最も高機能です.
  ※X座標は左から右へ行くにしたがって値が増加します.
  ※Y座標はVisioの場合下から上へ,それ以外では上から下へ行くにしたがって値が増加します.




使い方としては,まずサンプルデータで実行してみた後,少しずつデータを変更していくとよいでしょう.

実行可能マクロ一覧:
マクロ名 説明
ActionReMakeFigureExcel_
図形更新
アクティブなExcelのシート上のラベル(後述)に対応したセルに 入力されたデータを元にExcel,PowerPoint,Visioの図形を描く.
※上記3つのマクロがそれぞれExcel,PowerPoint,Visio用のマクロに対応しています.
※対応したシート・スライド(PowerPoint)・ページ(Visio)上の図形は全て始めに消去されます.
※対応したスライド・ページが無い場合は新しく作成されます.
※Visioでは Excelのシート名とVisioのページ名が対応付けされます.
ActionReMakeFigurePowerPoint_
図形更新
ActionReMakeFigureVisio_
図形更新
ActionUpdateFigureExcelData_
図形情報取得
アクティブなExcelシートの図形情報を同一シートのセルに入力します.
ActionUpdateFigurePowerPointData_
図形情報取得
アクティブなPowerPointの最終Slideの図形情報をExcelのセルに入力します.
※アクティブなExcelのシートが利用されます.
ActionUpdateFigureVisioData_
図形情報取得
アクティブなVisioのページの図形情報をExcelのセルに入力します.
※Visioのページ名とExcelのシート名が対応付けされます.
※対応したシートが無い場合は新しいExcelシートが作成されます.


図形の種類は □(R)Rectangle.長方形 ○(O)Oval/楕円 |(L)Line/線 ┐(C)Connector/コネクタ の四種類
   ※|┐は始端・終端の識別名を入力することによっても形状を変更できます.


図形の形状等はセルに入力された数値と対応付けられます.
   ※入力されていない場合・セルの背景色が灰色の場合,その入力は無視されます.


図形の色情報(背景色・線の色)はセルの背景色に対応します.
   ※2007~の条件付き書式で設定された背景色は反映されません.
   ※数値毎の背景色を設定したい場合は背景色を変更するマクロを利用してください.
   ※塗りつぶしなしの場合は色の変更が無視されます.


図形の文字情報(テキスト・フォント・文字の色・文字位置 等)はセルのそれに対応します.
   ※入力されていない場合・セルの背景色が灰色の場合,その入力は無視されます.
   ※特にVisioフォントの反映は処理に時間がかかるため入力を無視させることを推奨します.
   ※文字の大きさのみ数値で指定します.


編集可能項目一覧:
ラベル名
English / 日本語
(有効値の範囲)
説明
Index / インデックス Excel上のデータとVisio上の図形を対応させる補助データ
  ※編集する必要はありません
Name / 識別名 Excel上のデータとVisio上の図形を対応させるデータ
始端と終端を図形位置にする場合に参照(入力)します.
Shape / 図形(R/O/L/C) 頭文字をR/O/L/Cの何れかに設定します.
  ※それぞれ □(R) ○(O) |(L) ┐(C) の図形に対応します.
AssignOName /
始端識別名
始端,終端を図形位置にする場合・始端,終端をバインドする場合に Name / 識別名 の値を入力します.
  ※|┐のみ利用
AssignDName /
終端識別名
CenterX /
中心X座標
図形の位置と大きさ
  ※□○のみ利用
CenterY /
中心Y座標
Width / 幅
Height / 高さ
BeginX / 始端X座標 図形の始端と終端
  ※|┐のみ利用(□○は角の値が入力されます.)
BeginY / 始端Y座標
EndX / 終端X座標
EndY / 終端Y座標
LineDet /
ずらし距離
始端と終端を設定して線を引く場合に線を横にずらす距離を設定します.
  ※始端と終端が逆の線を区別したい時に設定すると便利です.
  ※|のみ利用
Text / テキスト テキストの値
  ※Excel,PowerPointの図形では□○のみ利用
Font/Align /
フォントと文字位置
文字のフォントの種類・斜体・太字・色・位置
  ※Excel,PowerPointの図形では□○のみ利用
  ※Excelのセルの書式で指定します.
FontSize /
文字サイズ[pt]
文字サイズ数値
  ※Excel,PowerPointの図形では□○のみ利用
  ※Excel,PowerPointの図形のォントサイズに対応しています.
  ※Visioのテキストプロパティの数値に対応しています.
FillColor /
塗りつぶし色
塗りつぶしの色等
  ※□○のみ利用
  ※Excel,PowerPointの図形の書式設定-塗りつぶしの色に対応しています.
  ※Visioの塗りつぶしプロパティの数値に対応しています.
  ※Excel,PowerPointではFillColorSub・FillPatternを使用しません.
  ※色はExcelのセルの背景色で指定します.
FillColorSub /
塗りつぶしパターン色
FillPattern /
塗りつぶしパターン
(1~40/-)
FillTrans /
塗りつぶし透明度
(0~100)[%]
LineColor / 線色 線の色等
  ※Excel,PowerPointの図形の書式設定-線の色・線のスタイルの数値に対応しています.
  ※Visioの線プロパティの数値に対応しています.
  ※色はExcelのセルの背景色で指定します.
LinePattern /
線パターン
(1~23/13x64x4)
LineTrans /
線透明度
(0~100)[%]
LineWidth /
線幅[mm]
LineBeginArrow /
始端形
(0~45/1~6)
線端の⇒
  ※|┐のみ利用
  ※Excel,PowerPointの図形の書式設定-線のスタイル-矢印の設定に対応しています.
  ※Visioの線プロパティの数値に対応しています.
LineBeginArrowSize /
始端形サイズ
(0~6/1~9)
LineEndArrow /
終端形
(0~45/1~6)
LineEndArrowSize /
終端形サイズ
(0~6/1~9)