Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 3-4(ЯП)+.doc
Скачиваний:
133
Добавлен:
10.06.2015
Размер:
681 Кб
Скачать
☆

История развития технологии vba

Развитие прикладного программного обеспечения и повышение сложности его использования, а также желание конечных пользователей прикладных программ иметь средства автоматизации специфических прикладных задач на базе готовых программных комплексов стимулировало разработчиков интегрировать языки программирования и средства разработки с различными прикладными пакетами. Так, корпорация Microsoftвпервые встроила в табличный процессорMicrosoftExcel 4.0 систему поддержки макросов на основе синтаксиса языка Visual Basic. С помощью макрокоманд можно было достаточно эффективно решать простые задачи управления средой приложения, а также задачи обработки данных, которые сложно было формализовать средствами табличных функций. Идея такой интеграции оказалась крайне удачной, и позднее (в версии MicrosoftOffice6.0) языковые макросредства были встроены во все основные офисные приложения. Более того, многие базовые функции приложений из состава MicrosoftOfficeбыли в последующих версиях реализованы средствами самого встроенного макроязыка.

Ко времени выхода MicrosoftOffice97 разнородные средства поддержки макрокоманд в различных офисных приложениях были унифицированы и включены в состав единой интегрированной среды разработки, получившей название Visual Basic for Application (VBA). Интерфейс, средства управления и отладки были подобны аналогичным средствам развитой и популярной на тот момент системы программирования автономных приложений Microsoft Visual Basic 5.0.

В современных реализациях VBAкак среда разработки для MicrosoftOfficeполностью вынесена в отдельную самостоятельную подсистему. Интерфейс и функциональные возможностиVBAодинаковы для всех офисных приложений, которые иногда называютконтейнерами VBA, или хост-приложениями(VBA-host application). С 1996 годаMicrosoftоткрыла возможность лицензирования ядраVBAсторонними производителями, что дает им право встраиватьVBAв собственные программные продукты. Первой компанией, откликнувшейся на это предложение и получившей лицензию наVBAдля своего продукта, былаVisioCorporation, которая, по иронии судьбы, три года спустя была поглощена корпорациейMicrosoft. В настоящее время более 100 компаний, выпускающих свои программные продукты, получили лицензию на использование этой технологии, тем самым предоставив пользователям своих программ возможность как решать средствамиVBAприкладные задачи автоматизации операций внутри собственного приложения, так и управлять любыми внешними программами, которые поддерживают технологию автоматизации ActiveX-Automation. Среди наиболее крупных программных проектов сторонних производителей, использующих в настоящееVBA, следует выделить таких «монстров», какAutodesk (AutoCAD) иCorel(CorelDraw).

Интегрированная среда разработки vba

Создание программы cиспользованием VBA начинается с запуска интегрированной среды разработки с помощью командыСервис |Макрос|Редактор Visual Basic1главного меню любого приложения из составаMicrosoftOffice. Внешний вид главного окна среды VBA представлен на рис. 2. С точки зрения пользовательского интерфейса, оно состоит из нескольких областей, каждая из которых предназначена для решения некоторой задачи взаимодействия с разработчиком.

Ниже заголовка окна традиционно располагается главное меню программы, а также палитры инструментов (1), команды которых дублируют команды главного меню. В виде стыковочного окна2(2) организован так называемыйпроводник проекта(Project Explorer), который предназначен для визуального иерархического представления составных частей проекта (модулей, модулей классов и форм), обеспечения навигации между ними, который также обеспечивает доступ к командам добавления, удаления и импорта/экспорта элементов VBA-проекта.

Рис. 2. Вид главного окна инструментальной среды VBA

Важнейшей составной частью любой среды программирования, в том числе и VBA, является редактор кода (Code Editor) (3). Важность редактора обусловлена тем, что программист-разработчик в течение значительной части времени работы над проектом использует именно редактор кода и функциональные возможности именно этого инструмента во многом определяют эффективность и скорость разработки. К важнейшим функциям редактора кода среды VBA можно отнести следующие:

• подсветка синтаксиса(Syntax Hightlight) – автоматическое выделение цветом или стилем шрифта ключевых слов языка, операторов, разделителей, строчных и числовых литералов;

• автоматизированный ввод (Auto List Member) – автоматическое отображение списка идентификаторов переменных, типов, а также членов класса или структуры, которые доступны программе или подпрограмме с возможностью ввода выбранного идентификатора в текущую позицию курсора;

• автоматическое отображение текущей информации (Auto Quick Info) о списке параметров подпрограмм и параметров методов класса, значений переменных и структур в ходе пошаговой отладки.

Эти функции активизируются автоматически при вводе идентификаторов объектов и подпрограмм, а также при перечислении параметров (рис. 3).

Наряду с указанными выше возможностями редактор кода поддерживает произвольные цветовые настройки подсветки синтаксиса и автоматическую проверку синтаксиса(Auto Syntax Check) операторов и выражений. Такая относительно развитая функциональность для встроенной в офисные программы среды разработки позволяет отнести редакторVBAк категории инструментов профессионального уровня.

Возможности среды программирования VBA не ограничиваются только наличием средств написания кода, с помощью которого можно управлять элементами интерфейса приложения-контейнера или обработкой данных в нем. VBA позволяет создавать собственные пользовательские элементы оконного интерфейса в виде диалоговых окон. Для разработки пользовательского интерфейса в состав среды VBA включен так называемый дизайнер форм(Form Designer) (4).

Рис. 3. Технологии автоматизированного ввода в редакторе кода среды VBA

Дизайнер форм представляет собой дочернее окно, в котором на этапе разработки отображается пользовательская форма(user form). Форма является образом создаваемого диалогового окна и на этапе разработки в дизайнере представляет собой контейнер для визуальных компонентов, из которых строится интерфейс встраиваемого VBA-приложения.

Визуальные компоненты добавляются на форму во время разработки приложения из специальной палитры компонентов(Toolbox) (5). Компоненты могут перемещаться на форме, им могут быть заданы произвольные размеры, а также определены другие характеристики, связанные с их внешним видом и поведением. Элементы управления, расположенные на форме, могут копироваться и перемещаться в буфер обмена, а также, при выполнении операции вставки, извлекаться из буфера для размещения на форме.

Задание свойств, характеристик и атрибутов компонентам, расположенным на форме, на этапе проектирования осуществляется с помощью окна свойств(Property Window) (6). Перечень возможных свойств визуального компонента представляется в виде связного списка наименований свойств и их значений. В верхней части окна свойств расположен комбинированный список, в котором можно выбрать идентификатор элемента управления, расположенного на форме, которая активна в текущий момент в дизайнере форм. Рабочая область окна свойств имеет две закладки (AlphabeticиCategorized). Активизация первой закладки позволяет отобразить список всех свойств выбранного элемента управления в алфавитном порядке, а второй – по категориям. Задание свойства элемента управления выполняется указанием его значения в строке редактирования либо выбором из комбинированного списка одного из возможных значений.

Для вывода отладочных сообщений и непосредственного запуска подпрограмм проекта предназначается окно непосредственного исполнения (Immediate Window) (7).