Visual Basic for Applications

Эта статья о языке программирования, об антивирусе см.: VBA32.

Visual Basic for Applications (VBA, Visual Basic для приложений) — немного упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office (включая версии для macOS), а также во многие другие программные пакеты, такие как AutoCAD, SolidWorks, CorelDRAW, WordPerfect и ESRI ArcGIS. VBA покрывает и расширяет функциональность ранее использовавшихся специализированных макроязыков, таких, как WordBasic.

Код, написанный на VBA, компилируется в промежуточный Microsoft P-код (байт-код), который затем выполняется виртуальной машиной, управляемой основным приложением (Excel, Word и др.), в то же время VBA не считается полноценно компилируемым языком, поскольку строки кода последовательно «интерпретируются» в процессе его выполнения. Как и следует из его названия, VBA близок к Visual Basic. VBA, будучи языком, построенным на COM, позволяет использовать все доступные в операционной системе COM-объекты и компоненты ActiveX (например, возможно создание приложения на основе Microsoft Word VBA, использующего только средства Corel Draw).

В будущем Microsoft планирует заменить VBA на Visual Studio Tools for Applications (VSTA) — инструментарий расширения функциональности приложений, основанный на Microsoft .NET.

Достоинства и недостатки

[править | править код]

К достоинствам языка можно отнести сравнительную лёгкость освоения, благодаря которой приложения могут создавать даже пользователи, не программирующие профессионально. К особенностям VBA можно отнести выполнение скрипта именно в среде офисных приложений.

Недостатком являются проблемы с обратной совместимостью разных версий. Эти проблемы в основном связаны только с тем, что код программы обращается к функциональным возможностям, появившимся в новой версии программного продукта, которые отсутствуют в старой. Также к недостаткам часто относят и слишком высокую открытость кода для случайного изменения, тем не менее, многие программные продукты (например, Microsoft Office и IBM Lotus Symphony) позволяют пользователю использовать шифрование исходного кода и установку пароля на его просмотр.

Литература

[править | править код]
  • Джон Уокенбах. Excel 2013: профессиональное программирование на VBA = Excel 2013 Power Programming with VBA. — М.: «Диалектика», 2014. — 960 с. — ISBN 978-5-8459-1877-2.
  • Джон Уокенбах. Excel 2010: профессиональное программирование на VBA = Excel 2010 Power Programming with VBA. — М.: «Диалектика», 2011. — С. 944. — ISBN 978-5-8459-1721-8.
  • Джон Пол Мюллер. VBA и Microsoft Office 2007 для чайников, 5-е издание = VBA For Dummies, 5th edition. — М.: «Диалектика», 2010. — С. 368. — ISBN 978-5-8459-1568-9.