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) позволяют пользователю использовать шифрование исходного кода и установку пароля на его просмотр.
См. также
- en:WordBASIC — версия BASIC для Word под Ms.Dos
- LibreOffice Basic
- Visual Basic
- Visual Studio Tools for Office
Ссылки
- VBA в MSDN
- Visual Basic и VBA (недоступная ссылка с 07-02-2016 [3120 дней]) — русскоязычный форум посвящённый программированию на Visual Basic 6.0 и VBA, .Net, VBS, ASP.Net.
- Visual Basic FAQ — База готовых кодов на Visual Basic. Часто задаваемые вопросы.
- Форум по VBA — Обсуждение тем по VBA на форуме Клуба Программистов
- Справочник Visual Basic for Applications — Справочник функций Visual Basic for Applications
- Примеры программ на VBA — Примеры программ на VBA
Литература
- Джон Уокенбах. 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.