1. ホーム
  2. vba

[解決済み】Visual Basic 6.0とVBAの違いについて

2022-04-10 18:38:15

質問

この2つは何が違うのでしょうか。VBAはVBのやや「不自由」なバージョンだとずっと思っていたのですが、先日友人に聞かれたとき、実際のところ何が違うのか全く分かりませんでした。

また、例えばExcelを使うとき、それはVBなのかVBAなのか?

どのように解決するのですか?

ほぼすべてのプログラミングにおいて、VBAとVB 6.0は同じものです。

VBAは、プログラムを実行可能なバイナリにコンパイルすることができません。プロジェクトを格納し実行するためには、常にホスト(例えばWordファイルとMS Word)が必要です。また、VBAでCOM DLLを作成することはできません。

それとは別に、IDEの違いがあります。VB 6.0のIDEは、比較するとより強力です。一方、VBAではホスト・アプリケーションと緊密に連携していますね。アプリケーション・グローバル・オブジェクト("ActiveDocument"など)やイベントは宣言なしで利用できるので、アプリケーション固有のプログラミングが簡単にできます。

それでも、Wordを起動し、VBA IDEをロードして、Wordとは全く関係のない問題を解決しないわけにはいきません。VB6.0にできて(技術的に)、VBAにできないことがあるのかどうか、よくわからないのです。MSDNに比較表がないか探しているところですが。