ArcGIS 10 における VBA と VB6 のサポートについて

6月3日、4日に行われたGISコミュニティフォーラムでは非常に数多くのテクニカルワークショップがありましたが、その中の「デスクトップ開発者向け GIS ~ 概要および ArcGIS 10 新機能のご紹介 ~」というセッションで、Visual Basic for Applications(VBA)と Visual Basic 6(VB6)のサポート計画について紹介しました。今後の ArcGIS 開発を進めていくにあたって非常に重要な内容ですので、ここで改めて ArcGIS 10 の VBA と VB6 のサポートについて説明します。

■VBA サポート
VBA は ArcGIS Desktop 8.0 から登場し、すでに約 10 年の歳月が流れました。VBA エディタで簡単なマクロやモジュールなどを作成して ArcGIS Desktop の機能をプログラミングから呼び出すことによって、処理を自動化したり、ユーザ独自の入力フォームを作成したりすることができます。

VBA は ArcGIS Desktop 9.3.1 では完全サポートですが、ArcGIS 10 からはオプション扱いとなり、標準ではインストールされません。ArcGIS 10 で VBA を使用したい場合は、製品に含まれているインストール プログラムを実行して別途インストールする必要があります。またライセンス認証も明示的に行う必要があります(ライセンスは無償です)。VBA を利用していたユーザ(開発者)にとっては非常に残念な話ですが、VBA が標準でインストールされないことにより、ArcMap や ArcCatalog などの ArcGIS Desktop アプリケーションの起動が速くなるというメリットもあります。
尚、VBA は ArcGIS 10 の次のバージョンではサポート終了という計画になっていますので、たとえ ArcGIS 10 で VBA が利用できるといっても、VBA でのツール開発はお勧めしません。極力、別の開発環境への移行をお勧めします。

■VB6 サポート
VB6 SDK を使用することによって ArcGIS Desktop アプリケーションを拡張する機能を DLL として作成したり、ArcGIS Engine アプリケーションを作成したりすることができます。VB6 も昔からある開発環境ですが、今ではほとんど利用されておらず、すでに Visual Studio .NETに移行している開発者がほとんどではないかと思います。
VB6 は ArcGIS 9.3.1 では完全サポートですが、ArcGIS 10 ではサポート対象外となります。”サポート対象外” の意味は、製品の中に VB6 SDK が含まれないことと、今まで VB6 で作成したツールやアプリケーションの動作を保証しないことを意味します。実際、開発元の Microsoft もすでに 2008 年にサポートを終了しています。したがって、開発者は既存のツールやアプリケーションを Visual Studio .NET へ移行することが必須となります。

■参考情報:ArcGIS 10 以降でサポート停止になるコンポーネントおよび環境 (※公開終了しました)