Файл: regeda_v_v_regeda_o_n_osnovy_programmirovaniya_na_vba.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 02.12.2019
Просмотров: 3196
Скачиваний: 1
NewMacros
.
Модуль
может
содержать
любое
количество
подмодулей
,
единственное
ограничение
состоит
в
том
,
что
его
суммарный
объем
не
должен
превышать
4000
строк
кода
.
Программа
на
языке
VBA
состоит
из
одного
или
нескольких
моду
-
лей
.
Обычно
модуль
начинается
с
опций
,
которые
управляют
описанием
переменных
,
способом
управления
строк
и
т
.
д
.,
например
'
Опции
VBA
Option Explicit
Инструкция
Option Explicit
используется
для
принудительного
объ
-
явления
всех
переменных
в
области
General Declarations (
Общее
описание
)
модуля
,
которая
располагается
в
верхней
части
модуля
.
Эта
инструкция
исключает
возможность
случайного
создания
новых
переменных
.
Исполь
-
зование
этой
инструкции
полезно
при
отладке
программы
,
т
.
к
.
если
допу
-
щена
ошибка
в
имени
переменной
,
то
будет
выдано
сообщение
об
ошибке
.
Затем
в
модуле
располагается
область
объявления
переменных
и
констант
уровня
модуля
или
проекта
,
которые
могут
быть
использованы
во
всех
процедурах
либо
модуля
,
либо
проекта
,
например
'
Переменные
уровня
модуля
Dim bytA As Byte
Dim strA1 As String
Private i As Integer
Private
Среднее
As Double
Далее
располагается
код
процедуры
или
функции
,
составляющий
саму
программу
.
Процедура
представляет
собой
поименованную
часть
кода
,
выпол
-
няющую
определенные
действия
.
Процедура
может
иметь
параметры
,
ко
-
торые
в
результате
выполнения
последовательности
инструкций
могут
ме
-
нять
свои
значения
.
Процедура
имеет
следующий
синтаксис
:
[Public
⏐
Private
⏐
Friend][Static]Sub name[(arglist)]
[statements]
[Exit
Sub]
[statements]
End Sub
Public
–
указывает
,
что
процедура
доступна
для
всех
других
про
-
цедур
во
всех
модулях
.
Private
–
указывает
,
что
процедура
доступна
для
других
процедур
только
того
модуля
в
котором
она
объявлена
.
Friend
–
используется
только
в
модулях
классов
.
Позволяет
вызы
-
вать
процедуру
из
другого
модуля
проекта
.
Static
–
указывает
,
что
локальные
переменные
процедуры
сохра
-
няются
в
промежутках
времени
между
вызовами
этой
процедуры
.
arglist
–
список
аргументов
,
разделенных
запятой
,
значения
кото
-
рых
передаются
в
процедуру
или
возвращаются
из
процедуры
при
ее
вызо
-
ве
.
statements
–
любая
группа
инструкций
,
выполняемых
в
процеду
-
ре
Sub
.
Exit Sub
–
инструкция
,
которая
приводит
к
немедленному
выходу
из
процедуры
Sub
.
В
состав
проекта
VB
могут
входить
несколько
форм
,
с
каждой
из
ко
-
торых
связан
свой
программный
модуль
.
Каждый
программный
модуль
может
включать
в
себя
процедуры
двух
типов
:
событийные
и
общие
.
Общая
процедура
представляет
собой
подпрограмму
,
которая
начи
-
нает
выполняться
после
ее
вызова
из
другой
процедуры
.
Выполнение
об
-
щих
процедур
не
связывается
с
какими
-
либо
событиями
,
они
вызываются
на
выполнение
с
помощью
оператора
Call
и
имеют
следующий
формат
:
Call
ИмяПроцедуры
(
СписокПараметров
)
Список
входных
параметров
представляет
собой
набор
переменных
,
значение
которых
устанавливаются
до
начала
выполнения
процедуры
.
Событийная
процедура
представляет
собой
подпрограмму
,
которая
начинает
выполняться
после
реализации
определенного
события
.
В
рас
-
смотренной
в
следующем
разделе
программе
Калькулятор
содержатся
лишь
событийные
процедуры
,
большинство
из
которых
обрабатывает
со
-
бытие
(
Click
),
произошедшее
при
щелчке
левой
клавиши
мыши
на
соот
-
ветствующем
элементе
управления
.
Кроме
процедуры
Sub
в
VBA
используются
и
процедура
Function
,
которая
имеет
следующий
формат
:
[Public
⏐
Private
⏐
Friend][Static] Function name[(arglist)]
statements
[name=expression]
[Exit
Function]
statements
[name=expression]
End Function
Инструкция
Exit Function
приводит
к
немедленному
выходу
из
процедуры
Function
.
Если
требуется
использовать
возвращаемое
Function
значение
,
в
отличие
от
процедуры
Sub
процедура
Function
может
применяться
в
правой
части
выражения
,
как
и
любая
другая
встроенная
функция
переменная
=
name()
В
свою
очередь
,
процедуре
Function
может
присваиваться
значе
-
ние
какого
-
либо
выражения
name()=expression
name
–
имя
процедуры
Function
,
expression
–
любое
выраже
-
ние
возвращающее
значение
того
же
типа
,
что
и
процедура
Function
.
Для
вызова
процедуре
Function
может
использоваться
так
же
,
как
и
для
процедуры
Sub
инструкция
Call
,
когда
интересует
не
возвращае
-
мое
процедурой
значение
,
а
осуществляемое
ей
действие
.
В
VBA
возможно
создание
рекурсивных
процедур
Function
и
Sub
,
т
.
е
.
процедур
вызывающих
самих
себя
.
5.
ПРИМЕР
СОЗДАНИЯ
ПРИЛОЖЕНИЯ
Зайти
в
среду
Visual Basic
и
создать
приложение
Калькулятор
,
ко
-
торый
должен
выполнять
четыре
арифметические
действия
.
Создание
при
-
ложения
можно
условно
разделить
на
три
этапа
:
–
создание
графического
интерфейса
будущего
приложения
;
–
задание
значений
свойствам
объектов
графического
интерфейса
;
–
создание
программного
кода
.
5.1.
Виртуальное
программирование
графического
интерфейса
Вставить
в
проект
форму
и
разместить
на
ней
необходимые
для
функционирования
приложения
управляющие
элементы
:
–
три
текстовых
поля
(
объекты
TextBox1
,
TextBox2
,
TextBox3
,
принадлежащие
классу
объектов
TextBox
):
два
поля
для
ввода
числовых
данных
и
одно
для
получения
результатов
вычислений
;
–
три
надписи
(
объекты
Label1
,
Label2
,
Label3
),
разместив
их
сверху
текстовых
полей
;
–
пять
кнопок
(
объекты
CommandButton1
,
CommandButton2
,
CommandButton3
,
CommandButton4
,
CommandButton
5,
принадле
-
жащих
классу
объектов
CommandButton
):
четыре
для
выполнения
ариф
-
метических
операций
(
сложение
,
вычитание
,
умножение
и
деление
)
и
одну
для
завершения
работы
приложения
.
Расположите
управляющие
элементы
в
форме
,
таким
образом
,
как
это
показано
на
(
Рис
. 7.1.)
Рис
. 7.1
5.2.
Задание
значений
свойствам
объектов
графического
интер
-
фейса
Для
изменения
свойств
объектов
вызвать
Окно
свойств
Properties
.
Последовательно
выделяя
сами
объекты
,
задать
для
них
значения
свойств
Name
(
Имя
)
и
Caption
(
Надпись
)
в
соответствии
с
таблицей
7.1.
Таблица
7.1.
Класс
объектов
Свойство
Значение
по
умолчанию Новое
значение
1
2
3
4
Name
Form1
Form1
Форма
(Form)
Caption Form1
Калькулятор
Продолжение
таблицы
1.7.
1
2
3
4
Name
Label1
Label1
Надпись
(Label)
Caption Label1
Первое
число
Name
Label2
Label2
Надпись
(Labe2)
Caption Label2
Второе
число
Name
Label3
Label3
Надпись
(Labe3)
Caption Label3
Результат
Name
Command1
CmdPlus
Кнопка
(CommandButton) Caption Command1
+
Name
Command2
CmdMinus
Кнопка
(CommandButton) Caption Command2
–
Name
Command3
CmdUmn
Кнопка
(CommandButton) Caption Command3
*
Name
Command4
CmdDelen
Кнопка
(CommandButton) Caption Command4
/
Name
Command5
CmdExit
Кнопка
(CommandButton) Caption Command5
Выход
Для
объектов
TextBox
изменить
значения
двух
свойств
Text
и
Font
.
Свойство
Text
задает
последовательность
символов
,
выводимых
в
поле
.
Первоначально
текстовые
поля
должны
быть
пустыми
.
А
свойство
Font
задает
нужный
шрифт
,
начертание
и
размер
шрифта
,
размещаемого
в
текстовом
поле
.
5.3.
Создание
программного
кода
.
На
этом
этапе
происходит
кодирование
событийных
процедур
в
при
-
ложении
.
В
рассмотренной
программе
Калькулятор
содержатся
лишь
событийные
процедуры
,
обрабатывающие
событие
(
Click
),
произошед
-
шее
при
щелчке
левой
клавиши
мыши
на
соответствующем
элементе
управления
.
1)
Самая
простая
событийная
процедура
в
данном
приложении
–
процедура
завершения
программы
.
Эта
процедура
должна
вызываться
,
ес
-
ли
пользователь
щелкнет
по
кнопке
с
надписью
«
Выход
»
.
В
результате
ее
выполнения
,
окно
приложения
Калькулятор
будет
закрыто
,
а
само
при
-
ложение
будет
выгружено
из
памяти
.