ここ一週間くらい物流シミュレータ開発(受託研究)やっています。開発にはExcelのVBAを利用しています。これまでそれなりに色々な開発環境を使ってきましたが、ツール開発程度であれば、恐らく、Excelが最速でソフト開発できるのではないかと感じています。
■良いところ
- 当たり前ですが、ワークシートをデータベース代わりに使えます。もちろん、その場合、データベースでいうところのテーブル定義も不要です。
- ワークシートを画面インタフェースとしても利用できますし、フォームを使えば、それなりの画面を作ることもできます。
- もちろん、コンパイル不要です。
- VBEでは、プロジェクトの管理もやってくれます。
- 一つのWorkBookに上記全てを入れて持ち運ぶことができます。
■不満があるところ
- Excelのバージョンによって動作が異なること。
- 低速であること(DLLを使えば高速化できますがファイルが増えます)
- VBEでマウスホイールが使えない。
- 当然ですが、Windowsでしか動かないこと。
- 継承やインタフェースが使えないこと。OOPらしいプログラムがかけない。
- VBAを動かすためにはセキュリティの設定をユーザが変えなければならないこと。
不満点が多いように見えてしまいますが。。。現時点では満足しています。できれば、早く.NET化して欲しいのですが。。。
私は、さらにワークシートのデータアクセスを楽にするために、前の会社で開発したプログラム自動生成ツール(アドイン)を利用しています。そのうち、会社と交渉してフリーツールとして公開したいと思います。
さて、シミュレータ開発を続けます。