logo search
УМК КМ и ПЭП + КТ в ЭП -заочн- 2008 РМ (МУ)

Тема 7. Visual Basic 6.0

Интегрированная среда разработки (IDE). Режимы IDE. Панели инструментов. Элементы управления панели ToolBox. Управление приложениями с помощью Project Explorer. Формы и элементы управления. Работа со свойствами, методами, событиями. Создание проектов. Работа с группой проектов. Сохранение и считывание информации. Создание повторно исполняемого кода. Работа с графикой. Использование Windows API для расширения возможностей Visual Basic 6.0. Использование VBA для подключения к Microsoft Office. Программирование баз данных.

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

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 Office есть практически на любом компьютере.

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

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

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