ХАРАКТЕРИСТИКА ЯЗЫКА 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) программного кода, то она может быть вызвана только в этом модуле.
К глобальным переменным может быть произведено обращение из всех программных модулей проекта. Глобальная переменная определяется с помощью ключевого слова
Globalв области (General)(Declaration) программного кода.(на практике рисование домика)
Язык объектно-ориентированного программирования Visual Basic for Applications предназначен для разработки приложений в среде Windows&Office
Иерархия объектов в VBA.В VBA имеется более 100 различных классов объектов, которые образуют некоторую иерархию. На вершине иерархии находится объект Application (приложение), который включает все остальные объекты. Так, объект Application, вершина иерархии объектов приложения Word, включает в себя в том числе объекты Document (документ) и Selection (выделенный фрагмент документа), а объект Document включает объекты Character (символ), Paragraph (абзац), Table (таблица) и др. (табл. 7.1).
Таблица 7.1. Некоторые объекты приложения Word
На вершине иерархии объектов приложения Excel стоит объект Application (приложение), в котором может быть открыто несколько книг (семейство объектов Workbooks), каждая из которых содержит несколько листов (семейство Worksheets), на каждом из которых может быть выбран диапазон ячеек (семейство Range), которые включают в себя определенные ячейки (семейство Cells), и так далее.
Для обращения к объекту в объектно-ориентированном программировании используется ссылка на объект, которая состоит из ряда имен вложенных последовательно друг в друга объектов. В соответствии с принятой в объектно-ориентированном программировании точечной нотацией разделителями имен объектов в этом ряду являются точки, ряд начинается с объекта наиболее высокого уровня Application и заканчивается именем интересующего нас объекта.
Например, в приложении Excel ссылка на ячейку А1 будет выглядеть следующим образом:
Application.Workbooks("Проба.xls"). Worksheets("Лист1") .Cells (1,1)
Однако делать каждый раз полную ссылку на объект необязательно. Если объект является активным, например, если в приложении Excel открыт документ Workbooks ("Ilpo6a.xls") и активным является лист Worksheets ("Лист1"), достаточно сделать относительную ссылку на саму ячейку:
Cells(l,l)
Интерфейс интегрированной среды разработки VBA аналогичен интерфейсу интегрированной среды разработки Visual Basic. Запуск среды разработки VBA осуществляется из любого приложения, входящего в Microsoft Office, командой [Сервис-Макрос-Редактор Visual Basic].
Окно среды разработки VBA представляет собой стандартное окно приложения, в котором могут быть открыты с помощью пунктов меню View рабочие окна среды: панель инструментов, окна Конструктор форм, Свойства объекта, Программный код, Просмотр объектов и Проводник проекта (рис. 7.1.
Панель инструментов в стандартном варианте включает 14 различных классов управляющих элементов: Сот-mandButton (командная кнопка), TextBox (текстовое поле), Label (надпись) и др. Существует возможность дополнить панель инструментов новыми классами управляющих элементов с помощью команды [Tools-Additional Controls...].
В окне Конструктор форм можно конструировать графический интерфейс проектов, помещая на форму (объект UserForm) управляющие элементы.
С помощью окна Свойства объекта можно устанавливать требуемые значения свойств (Name, Caption и др.) объектов графического интерфейса (формы и управляющих элементов).
Рис. 7.1. Окно интегрированной среды разработки VBA
В окне Программный код можно вводить и редактировать код программных модулей. Редактор кода оказывает «интеллектуальную» помощь пользователю. Во-первых, он автоматически предлагает пользователю варианты завершения вводимой инструкции.
После ввода имени объекта (например, объекта Selection) и точки в окне появляется список его свойств, методов, а также входящих в него объектов более низкого уровня (рис. 7.2.). Двойной щелчок по выбранному объекту или нажатие клавиши {Tab} вставляет выбранное имя в код программы.
Рис. 7.2. Перечень свойств и методов выбранного объекта Selection
Во-вторых, в любой момент можно получить перечень всех классов объектов VBA, а для каждого класса — перечень свойств и методов. Для этого необходимо выделить в тексте программы имя объекта, осуществить правый щелчок и в появившемся контекстном меню выбрать пункт Просмотр объектов или ввести команду [Вид-Просмотр объектов].
В появившемся окне Просмотр объектов в его левой части можно выбрать класс объектов (например, Documents), а в правой части окна выбрать интересующее нас свойство или метод (например, метод Open). В нижней части окна будет выведена краткая информация о формате задания метода или свойства (рис. 7.3).
Рис. 7.3. Формат метода Open
В-третьих, редактор кода проводит автоматическую проверку синтаксиса набранной строки после нажатия клавиши {Enter}. Если в строке допущена ошибка, то она выделяется красным цветом. Для устранения ошибки в помощь пользователю на экране отображается диалоговая панель, на которой содержится информация о допущенной ошибке.
В-четвертых, если курсор расположить на ключевом слове языка VBA (имени объекта, метода, свойства или инструкции) и нажать клавишу {F1}, то появится окно с развернутой справочной информацией.
В окне Проводник проекта можно ознакомиться с иерархической структурой файлов программмных модулей проекта. В проекте автоматически создаются программные модули для каждого документа, кроме того, можно создать программные модули форм и стандартные программные модули (макросы).
(Пример создания макроса стр.229 Угр)