開発の動機

Excelに付属のVBA (Visual Basic for Applications) は、表計算機能等の自動実行や複雑な処理機能を付加するための仕組みであるが、純粋プログラミング言語としても充分利用可能なことは以前から知られている。
Excelに付属しているため、ほとんどのPC実習室で利用可能である点が、授業で使用する場合には有利である。

ただ、グラフィックス描画命令などが標準的な機能として提供されていない点は、初心者用のプログラミング学習環境としては 大きなハンディとなる。そこで、AddShape命令を利用したグラフィックス描画サブプロシージャをExcel VBAのモジュールとして新たに定義しライブラリ化することにより、初学者でも手軽に利用でき、実用的なプログラムの作成が可能なプログラミング環境を提供することを試みた。

動作環境

Microsoft WindowsおよびOS X (macOS)上のExcel

※ Excelのバージョンによっては、VBAでのグラフィックス描画をサポートしていない場合がある可能性があります。

特徴

  • 「ワークシートの物理座標によるグラフィックス」、「ワールド座標によるグラフィックス」、「Turtleグラフィックス」の3種が提供されています。
  • 「ワールド座標によるグラフィックス」では、ViewPortとWindowの範囲を各自で定義することにより、描画領域と座標系を自由に設定することができます。
  • Turtleグラフィックスでは、LOGOと類似の描画命令を利用することができます。

制約

  • 描画オブジェクトの数が非常に多くなると、ある段階から処理速度が急激に低下する現象が発生します。
  • 新しいExcelでは、描画の途中の状態は表示されず、処理が終了した後の最終的な状態のみが表示されます。
  • プログラム中で描画命令の占める割合がきわめて大きい場合、実行途中での割り込みや中止などの制御が効かなくなることがあります。

実行速度を求められる方は、GDI32命令によるライブラリをご利用ください。