Microsoft社が開発・販売する Microsoft Office の各種製品で利用できるプログラミング言語です。
Microsoft が開発したプログラミング言語および処理系である Visual Basic の派生版といえる言語で、Microsoft Office の各製品(Excel、Word、Access、PowerPoint など)がもつ機能をプログラムから呼び出すことができます。
プログラミング言語としての機能性はそれほど高くなく、現代的な言語と比べると見劣りするものではありますが、分岐やループ、配列、関数などの基本的な機能は備えており、決定的に不足するものはありません。なお、製品の特性がそれぞれ異なるため、機能には違いもあります。
Microsoft Office の各製品には、VBA のプログラムを作成するための開発環境(VBE: Visual Basic Editor)や、実行環境が含まれており、各製品が使える状態であれば、それ以上特別に何かを用意する必要はありません。対象の製品を起動し、そこから開発環境を開いてプログラムを作成します。プログラムはその製品のファイルの中に含めるように保存できます。実行は、そのファイルを対象製品で開いた状態で、実行の操作を行うことで始まります。文書内にプッシュボタンを配置して、ユーザーがクリックすると実行されるといった作りにすることもできます。
Office 製品がもつマクロ機能(ユーザーの操作を記録しておき、あとから同じ操作を再実行できる)は、VBA のソースコードを自動的に作り出すことで実現されています。そのため、VBA でプログラミングを行う知識がなくとも、マクロ機能を介して VBA を利用することができます。
Office 製品の内側に閉じた機能ばかりではなく、新たなファイルを作成したり、ほかのプログラムを呼び出したりすることもできますが、そういった自由度の高さゆえに、コンピュータウイルスを作ることも可能であり、古くから問題になり続けています。VBA で作ったコンピュータウイルスを含んだファイルを配布し、それを入手したユーザーが危険性を疑わずに、そのファイルを開いて VBA を実行してしまうと問題になります。現在の Office製品は、デフォルトの設定では、ファイルを開いただけで VBA のプログラムを自動的に実行することはありませんが、設定は変更できますし、知識が乏しいユーザーは、実行をさせるように促されると実行してしまう可能性もあります。
Office 製品のファイルの拡張子として一般的になっているもの(.xlsx、.docx のように末尾が x になるもの)は、VBA のコード(マクロ)を含めることができないようになっているので、VBA を使わないのであれば、この拡張子で保存することで安全性が高くなります。VBA(マクロ)を含んでいる場合は、.xlsm、.docm といったように、末尾が m の拡張子になります。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |