Преимущества и недостатки, область применения VBA

Аббревиатура VBA (Visual Basic for Applications) означает Visual Basic для приложений. VBA - это язык программирования, встроенный во множество программ и приложений от Microsoft Office, Microsoft Project, Visio и AutoCAD до многочисленных специализированных приложений, предназначенных для управления производственными процессами, учета финансовых ресурсов или информационной поддержки клиентов. VBA быстро и неуклонно движется по направлению к тому, чтобы стать стандартом в индустрии создания программ. После освоения VBA вы сможете использовать этот язык в любом из приложений, поддерживающих VBA.

VBA – самый удобный язык для работы с приложениями Office. Язык VBA встроен в приложения Office (и не только), и код на языке VBA можно хранить внутри документов приложений Office – документах Word, книгах Excel, презентациях PowerPoint и т.п. Этот код можно запускать оттуда на выполнение, поскольку среда выполнения кода VBA (на программистском сленге — хост) встроена внутрь этих приложений.

Например, в Microsoft Word нет команды для сохранения выделенного блока текста в отдельном файле. Для решения этой задачи придется скопировать выделенный текст в буфер обмена, создать новый документ, скопировать в него содержимое буфера, сохранить и закрыть этот новый документ. С помощью VBA можно создать небольшую программу, которая выполнит все эти шаги автоматически. Для этого нужно в окне документа Microsoft Word открыть редактор VBA нажав Alt+F11, открыть в меню окно создания модуля (Insert®Module) и ввести следующий текст процедуры:

Sub BlockToFile() Selection.Range.Copy Documents.Add Selection.Range.Paste Dialogs(wdDialogFileSaveAs).Show ActiveDocument.Close End Sub Ø начало процедуры с именем "BlockToFile" Ø копирует выделенное в буфер обмена Ø создает новый документ Ø вставляет содержимое буфера в новый документ Ø открывает диалоговое окно "Сохранение документа" Ø закрывает новый документ Ø конец процедуры

Теперь в окне исходного документа нужно выделить необходимый фрагмент текста и, нажав клавиши Alt+F8, выполнить макрос BlockToFile –первая программа на VBA сделана. В среде программистов-профессионалов считается, что самый короткий путь "с нуля" и до профессиональных программ, которые делаются под заказ – именно через связку Office- VBA (и конечно, не через C++, Java или Delphi).

Макрокоманда или макрос — программный алгоритм действий, записанный пользователем. Другими словами, последовательностей команд, чтобы пользоваться ими снова и снова. Все приложения Microsoft Office имеют средство записи макросов.

VBA отличает от Visual Basic невозможность создавать независимые приложения и более медленная работа при первом запуске. Последнее происходит в результате необходимости компиляции. Компиляция – процесс перевода программного кода (который вы можете прочитать) в машинный код (представляющий собой инструкции, которые непосредственно исполняются компьютером во время выполнения программы).


Рис.1 – Вид окна редактора VBA при записи макроса.