Назначение VBA. Способы запуска макроса

Назначение VBA. Способы запуска макроса. Синтаксис в программных конструкциях VBA

VBA (Visual Basic for Applications) — это диалект языка Visual Basic, расширяющий его возможности и предназначенный для работы с приложениями Microsoft Office и другими приложениями от Microsoft и третьих фирм. В принципе, при программировании в Office можно вполне обойтись и без языка VBA. Подойдет любой COM-совместимый язык, например: обычный Visual Basic, VBScript, Java, JScript, C++, Delphi и т. п. Можно использовать и.NET-совместимые языки программирования: VB.NET, C# и т. п. Вам будут доступны все возможности объектных моделей приложений Office. Например, если сохранить следующий код в файле с расширением vbs и запустить его на выполнение, то будет запущен Word, в котором откроется новый документ и будет впечатан текст:

Dim oWord

Set oWord = CreateObject("Word.Application")

oWord.Visible = true

oWord.Documents.Add

oWord.Selection.TypeText ("Привет от VBScript")

Тем не менее, VBA — это обычно самый удобный язык для работы с приложениями Office. Главная причина проста — язык VBA встроен в приложения Office, и код на языке VBA можно хранить внутри документов приложений Office: в документах Word, книгах Excel, презентациях PowerPoint и т. п.

Конечно же, этот код можно запускать из документов на выполнение, поскольку среда выполнения кода VBA (на программистском сленге — хост) встроена внутрь этих приложений.

В настоящее время VBA встроен:

- во все главные приложения Microsoft Office — Word, Excel, Access,

PowerPoint, Outlook, FrontPage, InfoPath;

- в другие приложения Microsoft, такие как Visio и Project;

- в более 100 приложений третьих фирм, например, в CorelDRAW и CorelWordPerfect Office 2000, AutoCAD и т. п.

Но есть также и множество других преимуществ.

- VBA — универсальный язык. Освоив его, вы не только получите ключ ко всем возможностям приложений Office и других, перечисленных ранее, но и будете готовы к тому, чтобы:

- создавать полноценные приложения на Visual Basic (поскольку эти языки - близкие родственники);

- использовать все возможности языка VBScript (это вообще "урезанный" VBA). В результате в вашем распоряжении будут универсальные средства для создания скриптов администрирования Windows, Web-страниц (VBScript в Internet Explorer), Web-приложений ASP, для применения в пакетах DTS и заданиях на SQL Server, а также для создания серверных скриптов Exchange Server и многое-многое другое.

VBA изначально был ориентирован на пользователей, а не на профессиональных программистов (хотя профессионалы пользуются им очень активно), поэтому создавать программы на нем можно быстро и легко. Кроме того, в Office встроены мощные средства, облегчающие работу пользователя: подсказки по объектам и по синтаксису, макрорекордер и т. п.

При создании приложений на VBA вам, скорее всего, не придется заботиться об установке и настройке специальной среды программирования и наличии нужных библиотек на компьютере пользователя - Microsoft Оffice есть практически на любом компьютере.

Несмотря на то, что часто приложения VBA выполняются медленнее, чем бы вам хотелось, они нересурсоемки и очень хорошо работают, например, на сервере терминалов. Но, как правило, для программ на VBA особых требований на производительность и не ставят: для написания игр, драйверов, серверных продуктов он не используется. По моему опыту, возникающие проблемы с производительностью VBA-приложений - это чаще всего не проблемы VBA, а проблемы баз данных, к которым они обращаются. Если проблемы действительно в VBA (обычно тогда, когда вам требуется сложная математика), то всегда есть возможность написать важный код на C++ и обращаться к нему как к обычной библиотеке DLL или встраиваемому приложению (Add-In) для Word, Excel, Access и т. п.

Программы на VBA по умолчанию не компилируются, поэтому вносить в них исправления очень удобно. Не нужно разыскивать исходные коды и перекомпилировать программы. В среде программистов-профессионалов считается, что быстрее всего научиться создавать профессиональные приложения можно именно при помощи VBA и объектов приложений Office. Другие языки программирования (C++, Java, Delphi) придется осваивать намного дольше, а их возможности во многом избыточны для большинства повседневных задач, которые встречаются на любом предприятии. Кроме того, использование возможностей объектов Office (графического интерфейса, средств работы с текстом, математических функций и т. п.) позволит резко снизить трудоемкость при создании приложений.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: