VBA の概要
目次
Visual Basic for Applications とは ?
Microsoft® Visual Basic® for Applications (以下 VBA) は市販のアプリケーションをすばやくカスタマイズし、それらのアプリケーションを既存のデータやシステムに統合するための、優れた開発テクノロジです。VBA は Microsoft Visual Basic の開発システムを基盤とした、洗練されたプログラミング ツールを提供しています。Microsoft Visual Basic の開発システムは、世界中で最も親しまれている高速なアプリケーション開発システムで、開発者はこのシステムを使用して、市販のアプリケーションの能力を強化できます。VBA を使用すると、お客様がアプリケーションを最初から構築するのではなく、市販のソフトウェアを購入し、特別なビジネス プロセスに合わせてそれをカスタマイズできます。このため、時間や費用の節約、リスクの軽減、プログラミング スキルの向上、およびユーザーの要求に正確に応じるなどの利点が生じます。
VBA は完全な IDE (統合開発環境) を提供しています。IDE はプロジェクト ウィンドウ、プロパティ ウィンドウ、およびデバッグ ツールを含む、Microsoft Visual Basic を使用している開発者にとって馴染みのある要素を含んでいます。また VBA は、すばやくユーザー インターフェイスを作成するための ActiveX® コントロール 、およびカスタム ダイアログ ボックスを作成するための Microsoft Forms をサポートしています。VBA を直接ホスト アプリケーションに統合すると、ほかのスタンド アロンのツールより 200 倍近く高速なインプロセス パフォーマンスを提供でき、ドキュメントやセルなどのコード以外の部分でもホスト アプリケーションに緊密に統合できます。さらに、ほかのツールを使用せずにソリューションを構築する能力を提供できます。
VBA を統合したソフトウェア プログラムは、「カスタマイズ可能なアプリケーション」と呼ばれ、ビジネスの特別な要求に適応できるアプリケーションを構築できます。このクラスのアプリケーションは、開発者がすばやくソリューションを構築できるだけでなく、エンド ユーザーの教育をあまり必要としません。MIS やビジネス マネージャにとっては、カスタマイズによって最小限の保守作業でソリューションを高速かつ簡単に開発できることを意味します。2 年分の未作成の新規アプリケーションを抱える企業やエンド ユーザーの教育費用が高額になっている企業にとって、これらのソリューションは ROI (投資収益率) および時宜を得たということばで、多大なビジネスの利益が表現されています。
戻る
VBA の歴史
Microsoft の創立者であるビル ゲイツは、10 年以上前にカスタマイズ可能なアプリケーションに対する最初の見解を、バイト マガジン(Byte Magazine) 誌の記事「マクロ処理を超えるもの (Beyond Macro Processing)」 で明確にしました。記事の中で、彼は生産性の高いアプリケーション ソフトウェアに含まれる、洗練され共通した共有環境が必要であると提唱しました。開発ツールを直接アプリケーションに統合することにより、開発者は市販のアプリケーションで「マクロ処理を超える」機能を利用でき、既存のアプリケーション機能以外の優れたソリューションを構築できます。
彼の見解を実現したのが、1993 年に Microsoft Excel で初めてリリースされた VBA です。発表直後から、Microsoft は 数百社の ISV (独立ソフトウェア ベンダー) から、VBA を自社のアプリケーションで使用するライセンスを取得したいという要求を受けました。
VBA のライセンスを広範に供与することは、1997 年に VBA のバージョン 5.0 をリリースして以来、常にプログラミング システムに対する弊社のビジョンの一部になりました。Microsoft Office 97 アプリケーションは開発環境を実際に共有しているだけでなく、ISV によって作成されたサード パーティ アプリケーションを含むすべての製品を同じ環境で管理するように構成されています。
Microsoft は 2 社のパートナー会社、ニューヨークのシラキューズにある Summit Software 社 とマサチューセッツのケンブリッジにある Mystic River Software 社 を通じて、VBA のライセンスを供与することを1996 年 6 月に発表しました。Mystic River Software 社と Summit Software 社は共に、企業がプログラミング環境をアプリケーションに統合することを支援することに関して豊富な経験があります。この発表以来、ISV の皆様からは圧倒的な支持をいただき、多数のベンダーの皆様が製品に VBA 5.0 を使用することへの検討を表明しています。1999 年 4 月現在で、 80 以上の VBA ホスト アプリケーションを、開発者が購入して利用することが可能となり、カスタム ソリューションや様々なコンポーネントを縦横無尽に統合できるようになりました。
戻る
VBA ライセンスの利点
VBA を使用できるアプリケーションの数が増加すると、開発者がアプリケーションをカスタマイズし、統合する機会も増加します。そのため、開発者が Visual Basic の知識の習得にかける時間も多くなっていきます。その結果、このような知識と経験を持った開発者が組織内に多くなるので、ソリューションを最初から構築するよりも、VBA が使用できるアプリケーションを選択するエンド ユーザーが増えてきます。VBA の使用による利点を以下にまとめます。
戻る
ISV の利点
- 統合された、定評のあるテクノロジ。VBA のライセンスの供与により ISV は言語開発ではなく、製品の主要な機能開発に集中できるようになります。ISV はお客様に定評のある開発環境を提供することが可能となり、別のツールや言語を使って独自のテクノロジを構築する必要がなくなることを意味しています。
- 競争力。お客様に対して完全なカスタマイズ機能と統合能力の提供を追求している ISV にとって、VBA はその製品に競争力を与えます。VBA を使用できる製品を提供することにより、お客様の要求に応じたアプリケーションを作成し、特長や機能性を加えるテクノロジを提供するために時間を費やすことなく、幅広い能力を主要な製品に構築することに力を注ぐことができます。
- 単純で、拡張性のあるアプリケーション。ISV は VBA を基盤としたウィザードを直接組み込むことができるので、ユーザーはこのウィザードを使用して、単純操作や複雑な操作を実行できるようになります。製品を出荷した後、次の製品出荷までの期間、VBA を使用している ISV は主要な製品への新規機能や性能をアップデート版として Web を経由して配布できるようになります。
- マクロの記録。VBA とマクロ記録を使用して、開発者にアプリケーション プログラミング モデルを習得する簡単な方法を提供するだけでなく、エンド ユーザーが繰り返しの多い仕事を自動で行うための簡単な方法も提供しています。
- 巨大な開発者コミュニティ。VBA のライセンスの供与によって、ISV は すでに Visual Basic プログラミング テクノロジに精通している 320 万人の開発者を潜在的な顧客として見込めます。これらの開発者は、ISV の市販アプリケーションを開発用のプラットフォームとして使用できます。また、ISV はすでに Visual Basic が持っている巨大なインフラストラクチャを利用できます。
- トレーニング施設
- サポート センター
- 書籍や雑誌
- セミナー
- イベント
- 各種ショー
- 多数の ActiveX コントロール
- Web サイト
VBA に投資している ISV は、アプリケーションを拡張し、お客様の特別な要求に合うツールを提供することができます。VBA を利用できる製品が、組み込みのカスタマイズ テクノロジの提供することの最も重要な利点は、お客様が最初からアプリケーションを構築する代わりに、「購入してカスタマイズする」という作業に専念できることです。
戻る
開発者の利点
- VBA を使用している各アプリケーションは、ActiveX を基にしたコンポーネント セットを拡張することにより、開発者が使用できるオブジェクト モデルを通じてその機能を公開します。開発者は、ActiveX を基にしたコンポーネント セットを使用して、ビルディング ブロック方式で独自のソリューションを構築できます。
- VBA を使用して多くのアプリケーションに接することにより、開発者のスキルも多分野に広がります。
- コードをすぐに再利用できる場合もあります。同じ Visual Basic コードをどこでも使用できます。
- VBA を使用して、顧客のニーズにあうようにアプリケーションを完全にカスタマイズできます。
- VBA を使用するアプリケーションの利用者が増加することにより、開発者はこのようなアプリケーションを統合できるようになり、データや情報をより簡単に、より緊密に共有できるようになります。
- おそらくもっとも劇的なことは、開発者がこれまでコストの問題で見送っていたソリューションを構築できることです。VBA を使用することにより、必要な機能を別のアプリケーションと統合したり、別のベンダーから入手することが可能となるからです。
VBA を様々なアプリケーション間で相互に利用することにより、開発者は、既存のスキルのレベルを向上しながら、ビジネス アプリケーションをカスタマイズまたは統合できます。
戻る
MIS マネージャの利点
- アプリケーションの広い範囲に渡って開発者の知識を使用できます。
- MIS マネージャは、ビジネス固有の必要条件を満足するためにアプリケーションのカスタマイズが必要な場合、それを作成する代わりに購入することも検討できます。
- MIS マネージャは、世界中で 320 万人以上の Visual Basic に熟練した開発者を利用して、人的資源の確保要求に応じることができます。
- アプリケーションへのエンド ユーザーの要望のバックログは、コードを再利用することにより減少します。その結果、エンド ユーザーへの応答性も向上します。
- 複数の開発プロジェクト間での開発者の移動が簡単に行えます。
VBA は MIS マネージャを支援するために多くの役割を演じます。また、開発環境の数が減少し、開発者が習得する言語の数が減少するため、企業にとっては教育に関するコストが減少することになります。
戻る
アプリケーション ベースのソリューションのエンド ユーザーの利点
- VBA とホスト アプリケーション間の緊密な統合のおかげで、ソリューションは高速に実行されます。
- ソリューションがアプリケーションに従来から組み込まれているかのように違和感のない動きをするため、トレーニングはあまり必要ではありません。
- ユーザーがソリューションをカスタマイズできます。たとえば、印刷オプションの追加、クエリの作成などが行えます。
- ユーザーはソリューションの設計過程にも参加できます。ユーザーは、自動的に生成したい出力、レポート、および文書を作成することができます。
全体的に見て、ユーザーはソリューションの品質が向上することおよび機能がカスタマイズできることから多くの利点を得ることになります。ユーザーが使用するようになるアプリケーションは、豊富な機能が組み込まれ、ほかの機能と統合されるようになります。さらに、ユーザーのニーズを満足するように細かく調整できるようになります。
戻る
VBA バージョン 6.0
1999 年にリリースした VBA 6.0 で、マイクロソフトは VBA 5.0 の能力を基盤に、開発環境の能力、柔軟性およびセキュリティなどを拡張した新しい機能を含んでいます。これは、ISV が新しい機能を利用して、より強力なソリューションを開発する新たなきっかけになります。新しい機能には、VBA ベースのマルチスレッド プロジェクト、開発者生産性を上げるアドイン、およびディジタル署名のサポートなどがあります。さらに、マイクロソフト構築した新しい統合テクノロジを使用して、ISV は VBA を今までより速く簡単に統合できます。
VBA 6.0 は Microsoft Office 2000 の主要なコンポーネントです。VBA はこれまでの Microsoft Access、 Excel、 Word および Microsoft PowerPoint® (プレゼンテーション グラフィックス プログラム) だけではなく、Microsoft Outlook® (クライアントとのメッセージングおよびコラボレーション)、FrontPage® (Web サイトの作成および管理ツール) にも含まれるようになりました。VBA のライセンス プログラムを通じて、マイクロソフトは Microsoft Office と同じバージョンの VBA をマイクロソフト以外アプリケーションで広範に使用できるようにしています。その結果、Visual Basic と同等の能力と使いやすさをもった新しいアプリケーションを広範に提供することになります。
戻る
VBA がほかの Microsoft ツールと適応する方法
マイクロソフトは、特定の開発者のスキルやニーズを対象にしたたくさんの開発ツールを提供しています。開発ツールには、Microsoft Visual C++®、および Visual J++® といった開発システム、Microsoft Office Developer、および Visual Basic ファミリの Visual Basic プログラミング システム、Visual Basic for Applications および VBScripting Edition があります。Visual C++、 Visual J++、および Visual Basic プログラミング システムなどツールは、開発者が特定の市場ニーズに合わせて、最初からソリューションを構築することをサポートします。Microsoft Office Developer と Visual Basic for Applications は、最初から構築する代わりに、市販のアプリケーションを購入し、カスタマイズする開発者をサポートします。市販のソフトウェアを購入し、カスタマイズすることは、最初から構築する方法と比べて、ソリューション開発の費用と時間を節約します。Visual Basic ファミリは、習得および使用が簡単にできるプログラミング言語を原点として、優秀なプログラミング能力を提供するように設計されています。
Visual Basic ファミリの各ツールも、特定の用途を持っています。VBScripting Edition は Web ブラウザなどの少ないメモリ環境で軽量のスクリプト能力を提供するように設計されており、一般的には HTML Web ページを作成するために使われています。Visual Basic プログラミング システムは実行可能なプログラム、ActiveX コントロール、および COM コンポーネントなどの、スタンドアロン ソフトウェア コンポーネントを作成するための、世界で最も馴染みのある、高速なアプリケーション開発ツールです。VBA は Visual Basic プログラミング システムを使用するのと同等の能力を持ち、オートメーション、カスタマイズ、および統合をあらゆるレベルまで可能にすることにより、アプリケーションをさらに高機能にします。
戻る
本書に含まれる情報は、製品の発行日における Microsoft Corp. の現在の見解を示しているものです。Microsoft は変化を続けるマーケット状況に対応する必要があるため、本書を Microsoft の側のコミットメントとして見なしてはならず、発行日以降における情報の正確性を保証するものではありません。
本書は情報提供のみを目的としています。Microsoft は明示または黙示を問わず本書においていかなる保証も行いません。
Microsoft、 Visual Basic、 ActiveX、 Outlook、 FrontPage、 PowerPoint、 Visual C++、および Visual J++ は、Microsoft Corporation の米国およびその他の国における商標または登録商標です。
本書に出てくるその他の商標および製品名はそれぞれの会社が所有しています。