Visual Basic 中学校 関連用語集
VB6対応 VB.NET2002対応 VB.NET2003対応 VB2005対応

 

Visual Basic 中学校 > 関連用語集 >

VBA

読み方:ブイビーエー

正式名称:Visual Basic for Applications

意味

VBAとは、ExcelやWordなどVB以外のアプリケーションに付属しているVisual Basicでのプログラミング環境、および言語のこと。

 

詳細

VBでプログラムするにはVBを購入するのが最もシンプルな方法ですが、いくつかのアプリケーションにはVBが付属しています。これらの付属しているVBのことをVBAと呼びます。

VBAが付属している主な製品は以下の通りです。

VBAはそれぞれの製品をコントロールするための役割を担っています。たとえばExcel VBAを使用するとExcelの様々な操作をVBを使ってプログラムすることができ、通常の操作では実現できないような事や実現困難なことを行うようにプログラムすることが可能です。これを「マクロ」と呼ぶ場合もあります。各アプリケーションはこのためのCOMオブジェクトを公開しています。

通常のVBと異なりそれぞれおのアプリケーションを操作する目的に特化しているので、一般的な操作は行えない場合があります。

たとえば、Excel VBAでは簡単な画像処理プログラムも困難です。

 

2009年1月現在、VBAは言語仕様上はVB6.0に相当します。VBAではバージョンの表記は最新のもので6.5となっています。

VBAで一般的な処理が困難なのは言語上の制限があると言うわけではなく、付属しているオブジェクトがそれぞれのアプリケーションに特化したものばかりだからです。たとえば、VBで普通使うようなFormやPictureBoxはVBAには付属していません。

言語の機能は通常版のVBとまったく同じです。ただし、かなり昔のバージョンのVBAでは、言語機能自体にも差がありました。

 

VBAは主にマイクロソフト系のアプリケーションに付属していますが、処理系の実装に関する仕様が公開されており、マイクロソフト以外の製品にもVBA処理系を付属させることが可能です。

たとえば、以下の製品にはVBAが搭載されています。

※この情報は掲示板にて投稿いただきました。ありがとうございます。

他にも、かつてサードパーティ製のフォント作成アプリケーションにVBAが付属していたものがありました。

電卓やメモ帳、画像処理ソフトにもVBAを付属させることは可能で、マイクロソフトが公開している開発者用のサンプルにはVBAを搭載した電卓が含まれています。

 

ただし、.NETのリリース以降はVBAが採用しているVB6.0の言語仕様が古いものであるという認識が広まり、積極的にVBAを活用しようと言う機運は昔に比べて少なくなってきたように感じられます。

これには、.NET版のVBAとも言うべき、Visual Studio Tools for Application(VSTA)およびVisual Studio Tools for Office (VSTO)の存在も影響しています。これらを使用するとVB.NETやC#などの言語を使用してExcelやWordなどにプログラムを施すことができます。

VSTOは各アプリケーションに付属しているわけではなく、あくまでもVisual Studioの一部です。対応しているソフトはVBAほど広範ではありません。たとえば、Accessには未対応です。VSTAは各アプリケーションに搭載されるようですが現在のところ搭載されているアプリケーションはごくわずかでExcelやWordには搭載されていません。

  VBA  VSTO VSTA 
名称 Visual Basis for Applications Visual Studio Tools for Office Visual Studio Tools for Applications 
概要 個々のアプリケーションに搭載されているプログラミング環境。 Visual Studioの一部として搭載されているプログラミング環境 個々のアプリケーションに搭載されているプログラミング環境
対応アプリ Excel, Word, Access, FrontPage, Visio, Outlook, PowerPoint, Expression Web, AutoCAD, CorelDRAW Graphicsなど Excel, Word, Visio, Outlook, PowerPoint, InfoPath 2007など InfoPath 2007,  SQL Server 2008 Integration Servicesなど
  ←古い   新しい→

この表はそれぞれの概要をまとめたものです。ExcelやWordなどバージョンを省略しましたが、バージョンによっても状況は大きく異なります。より詳細な情報はマイクロソフトのサイトで調べてください。また下の段の「古い」、「新しい」は目安として付けましたが、「新しいから今後普及する」とか「古いから今後なくなっていく」などは一概に言えません。

私は2006年ごろのイベントでマイクロソフトはすべてのOfficeアプリケーションにVSTOを対応させる計画であると聞きましたが、道のりは険しいようです。

参考情報

ExcelとVBAの関係を表にまとめます。Excel以外のOffice製品もこの表に準じます。

Excel 対象OS 搭載VBAのバージョン 機能的に対応するVBのバージョン
Excel 97 Windows 5.0 4.0と5.0の中間
Excel 2000 Windows 6.0 6.0
Excel 2002 (Office XP) Windows 6.2 6.0
Excel 2003 Windows 6.3 6.0
Excel 2007 Windows 6.4 6.0
Excel 2010 Windows 7.0 6.0 + アルファ (LongLong型導入など)
Excel v.X Macintosh 5.0 5.0
Excel 2004 Macintosh 5.0 5.0
Excel 2008 Macintosh (非搭載) -
Excel 2011 Macintosh 6.5 6.0
 

※この情報は掲示板で投稿いただきました。ありがとうございます。

※同じバージョンでも環境によって搭載VBAのバージョンが異なることがあるようです。この表は目安として参考にしてください。

 

関連用語

Visual Studio Tools for Office (VSTO)

Visual Studio Tools for Application (VSTA)