ХАРАКТЕРИСТИКА ЯЗЫКА VISUAL BASIC FOR APPLICATIONS

Область видимости переменной.Переменные также могут быть локальными и глобальными (открытыми). Локальная переменная доступна только внутри процедуры или програм­много модуля и к ней невозможно обращение из другой про­цедуры или модуля. Локальная переменная определяется с помощью ключевого слова Dim.

РАЗМЕЩЕНИЕ ОБЩЕЙ ПРОЦЕДУРЫ В ПРОЕКТЕ.

End Sub

Вызов общей процедуры. Запуск общих процедур не свя­зывается с какими-либо событиями, а реализуется путем вызова из других процедур.Общая процедура представляет собой подпрограмму, которая начинает выполняться после ее вызова из другой процедуры. Общая процедура вызывается на выполнение либо с по­мощью оператора Call, либо по имени. В случае вызова процедуры с использованием оператора Callсписок пара­метров заключается в скобки:

CallИмяПроцедуры(СписокПараметров)

В случае вызова процедуры по имени список параметров приводится без скобок:

ИмяПроцедуры СписокПараметров

Общая проце­дура может входить в состав программного модуля одной из форм проекта (в файл с расширением frm). Общая процедура может быть также размещена в стандартном программном модуле (файле с расширением bas).

Область видимости процедуры.Общие и событийные про­цедуры могут быть локальными и глобальными. Локальная процедура доступна только внутри данного программного модуля и не может быть вызвана из другого модуля. Напри­мер, локальная общая процедура, размещенная в програм­мном модуле некоторой формы, не может быть вызвана из программного модуля другой формы. Локальная процедура задается с помощью ключевого слова Private:

Private Sub ИмяПроцедуры

программный код

End Sub

Глобальные процедуры доступны, то есть могут быть вы­званы, из всех программных модулей проекта. Глобальная процедура задается с помощью ключевого слова Public(по умолчанию, если перед ключевым словом Subотсутствуют ключевые слова, процедура является глобальной):

Public Sub ИмяПроцедуры

программный код

End Sub

Если переменная определена перед процедурой, то она может быть вызвана только в этой процедуре; если она определена перед программным модулем в области {Gene-ral)(Declaration) программного кода, то она может быть вы­звана только в этом модуле.

К глобальным переменным может быть произведено обра­щение из всех программных модулей проекта. Глобальная переменная определяется с помощью ключевого слова

Glo­balв области (General)(Declaration) программного кода.(на практике рисование домика)

Язык объектно-ориентированного программирования Vi­sual Basic for Applications предназначен для разработки прило­жений в среде Windows&Office

Иерархия объектов в VBA.В VBA имеется более 100 различных классов объектов, которые образуют некоторую иерархию. На вершине иерар­хии находится объект Application (приложение), который включает все остальные объекты. Так, объект Application, вершина иерархии объектов приложения Word, включает в себя в том числе объекты Document (документ) и Selecti­on (выделенный фрагмент документа), а объект Document включает объекты Character (символ), Paragraph (абзац), Table (таблица) и др. (табл. 7.1).

Таблица 7.1. Некоторые объекты приложения Word

 

На вершине иерархии объектов приложения Excel стоит объект Application (приложение), в котором может быть открыто несколько книг (семейство объектов Workbooks), каждая из которых содержит несколько листов (семейство Worksheets), на каждом из которых может быть выбран диапазон ячеек (семейство Range), которые включают в себя определенные ячейки (семейство Cells), и так далее.

Для обращения к объекту в объектно-ориентированном программировании используется ссылка на объект, которая состоит из ряда имен вложенных последовательно друг в друга объектов. В соответствии с принятой в объектно-ори­ентированном программировании точечной нотацией раз­делителями имен объектов в этом ряду являются точки, ряд начинается с объекта наиболее высокого уровня Applica­tion и заканчивается именем интересующего нас объекта.

Например, в приложении Excel ссылка на ячейку А1 бу­дет выглядеть следующим образом:

Application.Workbooks("Проба.xls"). Worksheets("Лист1") .Cells (1,1)

Однако делать каждый раз полную ссылку на объект нео­бязательно. Если объект является активным, например, если в приложении Excel открыт документ Workbooks ("Ilpo6a.xls") и активным является лист Worksheets ("Лист1"), достаточно сделать относительную ссылку на саму ячейку:

Cells(l,l)

Интерфейс интегрированной среды разработки VBA ана­логичен интерфейсу интегрированной среды разработки Vi­sual Basic. Запуск среды разработки VBA осуществляется из любого приложения, входящего в Microsoft Office, командой [Сервис-Макрос-Редактор Visual Basic].

Окно среды разработки VBA представляет собой стандарт­ное окно приложения, в котором могут быть открыты с по­мощью пунктов меню View рабочие окна среды: панель ин­струментов, окна Конструктор форм, Свойства объекта, Программный код, Просмотр объектов и Проводник проек­та (рис. 7.1.

Панель инструментов в стандартном варианте включа­ет 14 различных классов управляющих элементов: Сот-mandButton (командная кнопка), TextBox (текстовое по­ле), Label (надпись) и др. Существует возможность дополнить панель инструментов новыми классами управ­ляющих элементов с помощью команды [Tools-Additional Controls...].

В окне Конструктор форм можно конструировать графи­ческий интерфейс проектов, помещая на форму (объект UserForm) управляющие элементы.

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

Рис. 7.1. Окно интегрированной среды разработки VBA

 

В окне Программный код можно вводить и редактировать код программных модулей. Редактор кода оказывает «ин­теллектуальную» помощь пользователю. Во-первых, он ав­томатически предлагает пользователю варианты заверше­ния вводимой инструкции.

После ввода имени объек­та (например, объекта Se­lection) и точки в окне по­является список его свойств, методов, а также входящих в него объектов более низкого уровня (рис. 7.2.). Двойной щелчок по вы­бранному объекту или нажа­тие клавиши {Tab} вставляет выбранное имя в код про­граммы.

 

 

 

Рис. 7.2. Перечень свойств и методов выбранного объекта Selection

Во-вторых, в любой момент можно получить перечень всех классов объектов VBA, а для каждого класса — перечень свойств и методов. Для этого необходимо выделить в тексте программы имя объекта, осуществить правый щелчок и в по­явившемся контекстном меню выбрать пункт Просмотр объ­ектов или ввести команду [Вид-Просмотр объектов].

В появившемся окне Про­смотр объектов в его левой части можно выбрать класс объектов (например, Docu­ments), а в правой части окна выбрать интересующее нас свойство или метод (на­пример, метод Open). В ниж­ней части окна будет выведе­на краткая информация о формате задания метода или свойства (рис. 7.3).

 

 

 

Рис. 7.3. Формат метода Open

В-третьих, редактор кода проводит автоматическую про­верку синтаксиса набранной строки после нажатия клавиши {Enter}. Если в строке допущена ошибка, то она выделяется красным цветом. Для устранения ошибки в помощь пользо­вателю на экране отображается диалоговая панель, на кото­рой содержится информация о допущенной ошибке.

В-четвертых, если курсор расположить на ключевом сло­ве языка VBA (имени объекта, метода, свойства или инст­рукции) и нажать клавишу {F1}, то появится окно с развер­нутой справочной информацией.

В окне Проводник проекта можно ознакомиться с иерар­хической структурой файлов программмных модулей проекта. В проекте автоматически создаются программные моду­ли для каждого документа, кроме того, можно создать программные модули форм и стандартные программные мо­дули (макросы).

(Пример создания макроса стр.229 Угр)