Что такое VBA?

Нельзя было шефа учить скрипты писать. Вчера говорит: "Нужно скриптик написать на VBA, который ищет во всех *.doc-файлах заданной папки строку "gcc" и выводит соответствующий список файлов; я уже накопал функции открытия файлов, чтения папки, сам напишешь или я на выходных сделаю?" Не мог F3 в Проводнике нажать...

По мотивам bash.org.ru

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

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

Как несложно догадаться по названию данного языка, его основой является "большой" Visual Basic, хотя, по сравнению с оригинальным языком, синтаксис VBA несколько упрощен. Сделано это, конечно же, не случайно - дело в том, что макросы должны быть доступны и тем людям, которые достаточно смутно, вообще говоря, представляют себе, что такое программирование, в принципе. Для этого же в приложениях, где VBA доступен пользователям в качестве средства автоматизации их действий, как правило, есть и специальные "мастера", позволяющие конструировать сценарии в визуальном режиме - например, записывать за пользователем последовательность выполняемых действий и затем "перекладывать" её на язык команд, доступных ему при использовании VBA.

Несмотря на то, что VBA является интерпретируемым языком, и программы, написанные на нём, могут быть выполнены только внутри приложения, содержащего в себе интерпретатор VBA-сценариев, этот язык предоставляет достаточно серьёзные средства для манипулирования COM-объектами, файлами и системой в целом. В связи с этим понятен интерес к нему вирусописателей. До сих пор наблюдаются массовые рассылки документов в форматах Microsoft Office (в основном, конечно же, Microsoft Word), содержащих в себе вредоносный код на VBA. В связи с этим в свежих версиях "Офиса" корпорация Microsoft достаточно серьезно потрудилась над безопасностью работы пользователя с макросами - они по умолчанию отключены, и от пользователя требуется подтверждать буквально каждый шаг макроса, который может потенциально стать источником каких-либо проблем или неприятностей.

В новой версии Microsoft Office для Mac OS поддержка VBA была прекращена, хотя его возвращения ожидают в готовящейся к выпуску версии Office 2011. Тем не менее, взгляды экспертов на будущее Visual Basic for Applications весьма неоднозначны и варьируются от крайнего пессимизма до безудержного оптимизма. Пользователю же просто полезно знать VBA хотя бы на начальном уровне, чтобы быть способным справиться с возникающими задачами и иметь возможность хотя бы базовой автоматизации своих действий.

Вадим СТАНКЕВИЧ,
dreamdrusch@tut.by

Версия для печатиВерсия для печати

Номер: 

30 за 2010 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!