- •Информатика Сборник лабораторных работ по программированию в среде Visual Basic for Applications
- •Содержание
- •Введение
- •Лабораторная работа №1. Vba. Основные понятия. Среда разработки. Основы пРоГраммирования. Переменные
- •Среда программирования vba
- •Основы программирования на vba
- •Переменные
- •Математические операторы
- •Лабораторная работа №2. Диалоговые окна
- •Контрольные вопросы
- •Лабораторная работа № 3. Разветвляющиеся алгоритмы
- •1. Операторы условия if...Then
- •1.1 Строчный оператор If…Then…Else
- •1.2 Блочный условный оператор
- •1.3 Вложенные операторы If
- •1.4 Логические операции
- •2. Безусловный переход GoTo
- •3. Оператор выбора – переключатель
- •5. Задачи для самостоятельного решения!
- •Лабораторная работа № 4. Циклы со счетчиком
- •Лабораторная работа № 5. Циклы с условием
- •1. Циклы с предусловием
- •2. Цикл с постусловием
- •3. Цикл For Each … Next
- •4. Задания к лабораторной работе
- •5. Контрольные вопросы
- •Лабораторная работа № 6. Работа с формами. Создание интерактивных программ.
- •Примеры создания программ для работы с объектами окна диалога
- •Кнопка на рабочем листе создается с помощью Панели инструментов Формы (Элементы управления). Макрос назначается двойным щелчком левой кнопки мыши или с помощью контекстного меню.
- •Варианты для самостоятельных работ:
- •Литература
Переменные
Переменная используется для временного хранения данных в программе. Переменная может хранить информацию, введенную пользователем или полученную в процессе работы программы. Имена переменным следует присваивать адекватные, т.е. они должны соответствовать своему назначению. Имя переменной должно начинаться с буквы, длина имени не более 256 символов и не должно содержать точки. Можно пользоваться сочетанием строчных и прописных букв, объединяющим несколько слов. Нельзя использовать в качестве имен переменных ключевые слова Visual Basic, названия объектов и свойств.
Переменная может быть неявно объявленная. При этом переменная используется без специального выделения для нее памяти, например:
Prim="Hello"
При явном объявлении переменной используется оператор Dim (Dimension-размерность), который резервирует определенную область под переменную. Например:
Dim Prim
Использование оператора Dim позволяет создать более эффективную программу и позволяет контролировать безошибочное написание имен переменных.
При объявлении переменных с помощью оператора Dim желательно поместить оператор явного задания Option Explicit в раздел глобальных объявлений формы. Это можно сделать, открыв окно кода программы, в левом верхнем углу окна выбрать из списка General (Общий раздел), в правом верхнем углу окна выбрать пункт Declarations (Объявления) и ввести строку Option Explicit. При этом, если встретится необъявленная переменная, произойдет аварийный останов программы.
После имени переменной в операторе Dim можно задать тип данных для управления объемом памяти, используемой программой и тем самым увеличить быстродействие программы.
Тип переменной Variant (вариант) используется по умолчанию с автоматической установкой требуемого формата данных, но эффективность программы при этом ухудшается.
Типы данных:
Тип данных |
Размер в байтах |
Сокр. обозначение |
Integer (Целое) Long Integer (Длинное целое) Single precision Floating point (Одинарной точности с плавающей десятичной точкой) Double precision Floating point (Двойной точности) Currency (Денежные единицы) String (Строка) Boolean (логический=True,False) Date (Дата) Variant (Вариант) |
2 4 4
8
8 1 байт на символ 2 8 16 байт (для чисел) 22 байта +1 байт на символ (для строк) |
% & !
#
@ $
|
Тип данных в переменной фиксируется через ключевое слово As, например:
Dim Prim As String
Prim="Hello"
Переменная может быть доступна для всей программы или только одной или нескольких процедур. Область программы, в которой может быть использована переменная, называется областью видимости переменной. Обычно первые строки процедуры содержат объявления переменных. Эти переменные будут локальными для данной процедуры, т.е. не будут действовать в других процедурах программы и при входе в данную процедуру всегда обнуляются.
Если переменная объявляется в разделе глобальных объявлений модуля, то она доступна для всех процедур и функций этого модуля, т.е. будет глобальной и сохраняет свое значение при входе в другую процедуру.
Пример при последовательном выполнении процедур One и Two:
Option Explicit
Dim P1 As Integer ‘глобальная переменная (=0)
Sub Three()
One ‘вызов процедуры One
Two ‘вызов процедуры Two
End Sub
Sub One()
Dim P2 As Integer ‘локальная переменная (=0)
P2=5
P1=P1+P2 ‘P1=5
End Sub
Sub Two()
Dim P3 As Integer ‘ локальная переменная (=0)
P3=8
P1=P1+P3 ‘P1=13
Cells(1,1)= P1 ‘запись Р1 в ячейку А1
End Sub
ВЫПОЛНИТЬ:
Задание1. В программном модуле листа 1 напишите данный пример (комментарии можно не писать). Выделите процедуру Three() и запустите на выполнение кнопкой Run из панели управления. Посмотрите результат работы программы на листе 1. Удалите первые два оператора из программы:
Option Explicit
Dim P1 As Integer ‘глобальная переменная (=0)
Повторите выполнение программы и сравните результаты.
