Язык Visual Basic for Applications (VBA) – достаточно популярная в последние годы среда разработки приложений, которая является мощным программным средством, позволяющим реализовать широкий спектр практических задач. Основным её достоинством является оптимальное сочетание простоты использования, доступности и большого набора разнообразных возможностей, которые позволяют охватить все основные направления деятельности разработчика прикладных программ.
Историческая справка
Начало 90-х годов прошлого века ознаменовалось тем, что наметилась отчетливая тенденция включения в приложения, которые были предназначены для конечного пользователя, а также средства внутреннего программирования, с помощью которых можно было настраивать и адаптировать эти пакеты под конкретные условия применения.
В конце 1993 г. корпорация Microsoft объявила о создании на основе языка VB новой универсальной системы программирования для прикладных программ, которая в дальнейшем получила название Visual Basic for Applications (VB для приложений). Вполне естественно, что реализацию данного проекта корпорация начала с собственных офисных пакетов:
- Первая версия VBA 1.0 появилась в составе MS Office 4.0, однако не во всех программах, а только в Excel 4.0 и Project 6.0. В других же приложениях - Word 6.0 и Access 2.0 - были собственные варианты Basic. Кроме того, VBA 1.0 очень отличался, несмотря на то, что имел ряд существенных преимуществ, от используемой на тот момент универсальной системы VB 3.0.
- Качественный перелом произошел в конце 1996 года, когда был выпущен MS Office 97 с единой средой программирования VBA 5.0, включенной в приложения Word, Excel и PowerPoint. Кроме того, VBA 5.0 использовал языковый механизм и среду разработки, которые использовала и универсальная система VB 5.0.
- В состав MS Office 2000 вошла уже версия VBA 6.0, использовавшаяся на тот момент уже в 6 приложениях: Word, Excel, PowerPoint, Access, Outlook, Frontpage.
В настоящее время корпорация Microsoft занимает твердую позицию, согласно которой пакет MS Office выступает не просто как набор прикладных программ, а как комплексная платформа для создания всевозможных бизнес-приложений, которые позволяют решить широкий круг специализированных задач пользователей всего мира. Именно поэтому и появился в его составе специальный выпуск для разработчиков приложений — Developer Edition. Помимо всего прочего, в это же время VBA активно продвигают в качестве отраслевого стандарта для управления программируемыми приложениями.
В наши дни уже многие ведущие мировые фирмы-разработчики прикладных программ (в их рядах и российские) приобрели лицензии на VBA и включают его в состав разрабатываемых приложений. Таким образом, осваивая механизм программирования VBA, реализованный в пакетах офисных программ, которые установлены на компьютерах нынешних пользователей, они смогут использовать полученные знания и навыки при работе с десятками и сотнями других программ, в том числе и тех, которые еще не созданы. Начиная с составлений простейших макрокоманд, при большом желании можно в рамках одного инструментария стать хорошим профессионалом по разработке программных систем любой сложности. Лет двадцать назад во всем мире насчитывалось не более 2 млн. программистов. Сегодня же их десятки миллионов, и из них, вероятнее всего, не менее 70% используют хотя бы один из инструментов VB или VBA.
Достоинства и недостатки
Одним из достоинств языка VBA является сравнительно легкое освоение, благодаря которому приложения может создавать даже пользователь, который никогда в своей жизни не писал программы на профессиональном уровне. К особенностям VBA относится выполнение скрипта именно в среде офисных приложений.
Кроме достоинств имеются конечно же и недостатки. Одним из них является проблема обратной совместимостью разных версий. Эта проблема в основном связана только с тем, что код программы обращается к функциональным возможностям, появившимся в новой версии программного продукта, которые отсутствовали в прежней версии. Также к недостаткам можно отнести и достаточно высокую открытость кода, что чревато случайными изменениями, однако все же многие программные продукты (например, Microsoft Office) дают возможность пользователю применять шифрование исходного кода и устанавливать пароль на его просмотр.
По мнению большинства программистов, этому языку не нужно уделять особого внимания по той лишь причине, что он ломает мышление программистов и не позволяет перейти после него на другие, по их мнению, нормальные языки как Python.
Возможности VBA ничуть не уступают другим системам программирования Windows и постоянно растут. К основным возможностям VBA относятся:
- реализация максимально гибкого и удобного интерфейса для приложения;
- создание различных разнообразных многоуровневых и всплывающих меню;
- обработка событий мыши и клавиатуры;
- работа с графикой.
Разработчикам предоставляется возможность использовать в программе как стандартные, так и встроенные диалоги, необходимые для организации обратной связи с пользователем. Кроме этого, приложение осуществляет работу с таймером, обрабатывает файлы и каталоги на жестком диске, а также предоставляет доступ к базам данных. В среде VBA разработчик может внедрять в приложение различные объекты, которые, в свою очередь, поддерживаются другими программами. Помимо этого, в среде VBA имеется возможность реализации связи одного или нескольких компьютеров, на которых установлено созданное приложение, с сетью Internet.
Язык программирования VBA представляет собой реализацию объектно-ориентированного написания программ в системе MS Office. Синтаксис языка VBA основывается на правилах языка Basic, который, в свою очередь, является одним из самых ранних языков программирования. В процессе написания программы на VBA происходит последовательное заполнение параметров различных объектов. Язык VBA – это мощное программное средство, посредством которого осуществляется обработка файловой информации. Но наиболее привлекательным является то, что с помощью данного языка представляется возможным заносить результаты вычислений и любые данные в приложения Office. Таким образом, можно отметить, что в настоящее время большое внимание уделяется программированию на VBA.
Описание языка VBA и системы программирования в Office
Операционная система Windows корпорации Microsoft обладает поразительно удобным интерфейсом, а также разнообразными интеллектуальными средствами, освобождающими пользователя от рутинной работы, которая характерна для других операционных систем. Единственным и незаменимым дополнением этой операционной системы являются программные продукты Microsoft Office, с помощью которых даже начинающий пользователь способен с легкостью создать идеально оформленную документацию, а также выполнить финансовые, инженерные и другие расчеты, создать различные базы данных и работать с ними, разработать и оформить всевозможные презентации. Операционная система Windows совместно с программными продуктами Microsoft Office, покорили весь мир.
Microsoft интегрировала в свои офисные программы и в операционную среду поразительно простой и необычайно эффективный язык программирования Visual Basic for Applications. С помощью него в настоящее время каждый пользователь способен автоматизировать работу любого приложения и адаптировать ее для решения конкретных практических задач, не только добавив интерфейсу новую функциональность, но и удалив из него ненужные для данного приложения элементы, тем самым обеспечив ему дополнительную стабильность.
С помощью VBA пользователь может по своему вкусу изменить внешний вид или способ применения имеющихся средств приложения и кроме того добавить свои, абсолютно новые возможности. Приведем несколько примеров, когда VBA окажется наиболее оптимальным вариантом использования:
- Возможность, которую приходится часто использовать, почему-то оказывается спрятанной в глубинах диалоговых окон. Не плохо было бы поместить соответствующую команду в виде кнопки на панель инструментов, чтобы без проблем в нужный момент вызывать команду одним щелчком. А лучшим вариантом будет появление кнопки только в том случае, когда команда действительно понадобилась.
- Пользователю довольно часто приходится сталкиваться с повторением одного и того же набора команд. Вероятнее всего, он предпочел бы иметь программу, запоминающую все нужные для этого шаги, которая запускала бы сразу всю последовательность действий одной командой.
- В случае, когда вашему программному обеспечению просто не хватает нескольких возможностей, которые, ну просто, очень необходимы. Почему бы вам не добавить недостающие команды самостоятельно?
VBA позволяет выполнить любую из перечисленных выше модификаций приложения. Кроме того, с его помощью вы будете иметь возможность создавать свои законченные и полностью работоспособные программы.