Введение в язык VBA Что такое язык VBA?

          Назад



1.2 Что такое язык VBA?


Определение VBA, преимущества, возможности применения

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

В принципе, как это не удивительно, при программировании в Office можно вполне обойтись без языка VBA. Подойдет любой COM-совместимый язык, например, обычный Visual Basic, VBScript, JScript, C++, Delphi, Java и т.п. Можно использовать и .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 встроен:

  • во все главные приложения MS Office — Word, Excel, Access, PowerPoint, Outlook, FrontPage, InfoPath;
  • в другие приложения Microsoft, например, Visio и M icrosoft Project;
  • в более чем 100 приложений третьих фирм, например, CorelDraw и CorelWordPerfect Office 2000, AutoCAD и т.п.

У VBA есть также множество других преимуществ:

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

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

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

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

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

Программы на VBA по умолчанию не компилируются и поэтому вносить в них исправления очень удобно. Не нужно разыскивать исходные коды и перекомпилировать программы.

В среде программистов-профессионалов считается, что самый короткий путь "с нуля" и программ типа "Hello, World" до профессиональных программ, которые делаются под заказ — именно через связку Office- VBA (а конечно, не через C++, Java или Delphi).




Далее