logo
VBA-методПособие

3. Программирование на vba

 

Выше было сказано, что процесс создания экранной формы, называется разработкой интерфейса. Под интерфейсом понимают совокупность средств, обеспечивающих взаимодействие пользователя и программ вычислительной системы. При разработке интерфейса пользователь должен быть заинтересован в максимально простом и удобном способе ввода и вывода данных. Важна и эстетическая форма подачи программы: это и размер формы, её фон, шрифт надписей, звуковое и графическое сопровождение. Также мы говорили о том, что на экранной форме пользователь создаёт элементы управления: текстовые поля, метки, командные кнопки. Эти элементы являются объектами языка Visual Basic for Applications. Объект - одно из основных понятий не только VBA, но и других объектно-ориентированных языков программирования. Каждый объект имеет своё имя и является представителем некоторого класса подобных себе объектов. Под классом объектов подразумевается общее описание таких объектов, для которых характерно наличие множества общих свойств и общих действий, которые способны выполнять эти объекты. Существует, например, класс Командная кнопка - общее описание кнопок в окнах приложений. Кнопки могут быть разных размеров и цветов, иметь разные подписи, но имеют множество общих свойств и событий (например, щелчок мыши по кнопке). Началом работы алгоритма, а, следовательно, и программы, является какое-нибудь событие. Событием (Event) называется характеристика класса объектов, описывающая внешнее воздействие, на которое реагирует объект этого класса во время работы приложения. Объектно-ориентированное программирование основано на следующей идее: программы управляются событиями. Пояснить это можно так: после проектирования экранной формы устанавливаются события, и только затем программируются действия, связанные с этими событиями.

Код программы, написанной пользователем на VBA, хранится в модулях. Модуль - это совокупность объявлений и процедур, хранящихся как единое целое. Рассмотрим термин “процедура”.

Если в программе возникает необходимость частого обращения к некоторой группе операторов, то рационально сгруппировать такую группу в самостоятельный блок, к которому можно обращаться, указывая его имя. Такие программные блоки называются подпрограммами пользователя. Подпрограммы в языках программирования реализуются посредством процедур и функций.

 

Процедура - это независимая часть программы, которую можно вызвать по имени для выполнения определённых действий. Процедура выполняет один или несколько операторов и не возвращает значения. Примером процедуры является код макроса. Например:

Sub МойПервыйМакрос_Click()

With Selection.Font

.Size = 18

.ColorIndex = 3

End With

End Sub

 

Процедура обозначается словом Sub, End Sub говорит о том, что процедура закончена. Процедура выполняется в ответ на какое-либо событие или говорят, что процедура обрабатывает событие. Имя процедуры состоит из названия объекта МойПервыйМакрос, и события, Click (щелчок), которое отделяется знаком подчёркивания от названия объекта.

 

Функция аналогична процедуре, но отличается тем, что возвращает в точку вызова основной программы единственный результат. Например, Y= ABS(X); - определяет модуль числа X и возвращает результат в точку вызова Y.

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

Public Function Процент (число)

Процент = число*0.01/100

End Function

 

Функция может иметь аргумент Число. Аргумент Число может быть числом или ссылкой на ячейку рабочего листа. Величина процента является тем значением, которое возвращает функция.

 

В VBA существуют определённые правила для имён процедур и функций.

Первые три символа имени должны быть буквами

Имя может содержать буквы, цифры и знаки подчёркивания

Имя не может содержать пробелы, точки, запятые, восклицательные знаки и символы @, &, $, #

Имя не должно иметь более 255 символов