|
Article on other languages:
|
Visual Basic for Applications(ビジュアルベーシック・フォー・アプリケーションズ、VBA)は、マイクロソフト社製のMicrosoft Officeシリーズに搭載されているプログラミング言語である。 VBA を使用することで、ExcelやAccessなどを使用した定型業務を自動化することができる。また、ユーザー独自のフォームを作成することができ、様々なプラグインを組み込むことでアプリケーションの機能をカスタマイズすることなども可能である。 Microsoft OfficeシリーズのアプリケーションにはVBA用の統合開発環境が付属しているため、知識があれば誰でも手軽にプログラミングが始められる(知識がない場合でも、マクロの自動記録の機能を使って定型業務の自動化を行うことができる)。基本的にはインタプリタ型の言語であるため、コンパイル(ビルド)の作業は不要である。 Microsoft Office専用という印象が強いが、実際にはマイクロソフト社からしかるべきライセンスを取得することで他のアプリケーションに組み込むことも可能である。実際、マイクロソフト社に買収される前のVisioにも搭載されていた。CADソフトのAutoCADやMicroStation V8等にも搭載されている。 VBAは、同社のVisual Basicから派生した言語であり、Visual Basicと同様、ActiveXを使用することで既存資源の流用も可能である。ただ、近年マイクロソフト社はActiveX/Component Object Modelから.NET Frameworkへの転換を進めており、Microsoft Office System 2003には従来版にあった「Developer Edition」(VBAカスタムアプリケーション開発用のパッケージ)が存在せず、替わりにVisual Studio Tools for the Microsoft Office Systemと呼ばれる製品が出荷されている。
VBA の歴史1994年、マイクロソフトは Excel 5.0 とともに VBA をリリースした。それは従来までのマクロ言語の代替でしかなかった。 しかし、翌年にリリースした Office95や、1997年のOffice97において、Excel以外のアプリケーション、すなわちAccessやWordにもVBAを搭載していった。合わせてVBAの仕様拡張も行われ、VBAはOffice製品に共通したプログラミング言語として確立される。 コード例
Application.DisplayAlerts = False
Worksheets("Sheet1").Delete
Application.DisplayAlerts = True
Dim i As Integer
Dim j As Integer
For i = 1 To 9
For j = 1 To 9
Cells(i, j).Value = i * j
Next
Next
Dim myCell As Range
For Each myCell In Range("B2:E15")
Select Case myCell.Value
Case Is <= 5
myCell.Interior.Color = RGB(0, 255, 255)
Case 6 To 10
myCell.Interior.Color = RGB(0, 255, 0)
Case 11 To 15
myCell.Interior.Color = RGB(255, 255, 0)
Case Is > 15
myCell.Interior.Color = RGB(255, 0, 0)
End Select
Next
VBAの問題VBA で記述したプログラムは Excel などのファイルの一部として格納される。そのため、これらのファイルを開くと同時に VBA で記述した悪意のあるプログラム(マクロウイルス)が自動実行されるようになっていると、重要なファイルが削除されるなど、クライアントが大きなダメージを受けることがある。この危険性は、各アプリケーション上でのセキュリティ設定や、ウイルス対策ソフトの導入などによってほぼ回避することができる。 外部リンク |
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net