- •Введение. Установка среды программирования
- •2. История языка Basic
- •3. Установка Visual Basic
- •Лабораторная работа №1. Интерфейс Visual Basic. Создание первого проекта
- •Теоретическая часть
- •1 . Первое знакомство
- •5. Стандартная панель инструментов
- •Практическая часть
- •Лабораторная работа №2. Изменение свойств компонентов. Метод Print
- •Теоретическая часть
- •1. Состав панели управления
- •2. Окно свойств и редактора кода
- •3. Свойства элементов управления
- •3.1 Свойства элемента Form
- •3.2 Свойства элемента TextBox
- •3.3. Свойства компонента CommandButton
- •Объект.Print [Список вывода]
- •Объект.Cls Практическая часть
- •Лабораторная работа №3. Работа с простейшим графическим объектом Visual Basic
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №4. Работа с арифметическими выражениями и функциями
- •Теоретическая часть
- •1. Арифметические выражения Visual Basic.
- •2. Встроенные функции Visual Basic
- •3. Функции преобразования
- •Str (число)
- •Val (символьное выражение)
- •Практическая часть
- •Лабораторная работа №5. Решение простейших математических задач с использованием линейных алгоритмов
- •Теоретическая часть
- •1. Типы данных
- •2. Объявление переменных
- •Public / Private / Dim Имя_переменной [As Тип_переменной]
- •Оператор_объявления_типа Строка_интервалов_имен
- •3. Константы Visual Basic
- •4. Область видимости переменной
- •Public / Private / Dim Имя_переменной [As Тип_переменной]
- •Имя_формы.Имя_переменной
- •Практическая часть
- •Лабораторная работа №6. Программирование ветвлений с использованием оператора If
- •Теоретическая часть
- •1. Конструкция If … Then … End If
- •2. Конструкция If … Then … Else … End If
- •3. Конструкция If … Then … Else If… End If
- •Практическая часть
- •Лабораторная работа №7. Программирование ветвлений с использованием оператора Case
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №8. Программирование циклов
- •Теоретическая часть
- •1. Цикл For…Next
- •2. Цикл For Each … Next
- •3. Цикл Do While … Loop
- •4. Цикл Do Until … Loop
- •5. Цикл Do … Loop While
- •6. Цикл Do … Loop Until
- •7. Цикл While … Wend
- •Практическая часть
- •Лабораторная работа №9. Разработка приложений для обработки массивов
- •Теоретическая часть
- •1. Объявление массивов
- •2. Массивы с фиксированной границей и динамические массивы.
- •UBound (имяМассива [, измерение]) Практическая часть
- •Лабораторная работа №10. Разработка приложений с использованием методов рисованИя графических примитивов
- •Теоретическая часть
- •1. Графическая поверхность
- •2. Графические примитивы
- •Практическая часть
- •Лабораторная работа №11. Построение графиков и диаграмм
- •Лабораторная работа №12. Применение пользовательских диалоговых окон
- •Теоретическая часть
- •1. Окно и функция InputBox
- •2. Окно MsgBox
- •MsgBox Текст сообщения [,Константа] [,Заголовок]
- •3. Функция MsgBox()
- •Практическая часть
- •Лабораторная работа №13. Разработка компьютерного теста с использованием Visual Basic
- •Теоретическая часть
- •Лабораторная работа №14. Создание пользовательского меню и панели инструментов
- •Теоретическая часть
- •Call Имя процедуры ([Список Параметров Вызова]),
- •Практическая часть
- •Лабораторная работа №15. Создание текстового редактора
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №16. Разработка мультимедиа-приложений
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №17. Макросы: запись, запуск, чтение
- •Теоретическая часть
- •Обычно макрос содержит следующие элементы.
- •Практическая часть
- •Лабораторная работа №18. Создание форм рабочего листа
- •Теоретическая часть
- •1. Когда необходимо использовать vba в Excel
- •2. Объект Application
- •3. Объект Workbook
- •4. Объект Worksheet
- •5. Объект Range
- •Инициализация и отображение диалогового окна
- •Практическая часть Создание пользовательской формы
- •Создание пользовательской формы
- •Практические задания по программированию на vba
- •Лабораторная работа №19. Создание книги лабораторных работ с автоматизированным выбором страниц книги
- •Практическая часть
- •Лабораторная работа №20. Моделирование процессов
- •Теоретическая часть
- •Лабораторная работа №21. Создание сводных таблиц в vba
- •Теоретическая часть Практическая часть
- •Лабораторная работа №22. Работа с компонентом Chart
- •Теоретическая часть Практическая часть
- •Лабораторная работа №23. Работа с базами данных в Visual Basic
- •Теоретическая часть Практическая часть
- •Лабораторная работа №24. Работа с базами данных в Excel с использованием Visual Basic
- •Теоретическая часть Практическая часть
- •Лабораторная работа №25. Обработка данных на рабочем листе Теоретическая часть Практическая часть
Лабораторная работа №8. Программирование циклов
Цель работы: рассмотреть операторы цикла - For...Next, For Each...Next, Do While, Do Until, While...Wend; научиться применять операторы цикла в создаваемых приложениях
Теоретическая часть
В программировании часто приходится, особенно при вычислениях, повторять одни и те же действия либо заданное количество раз, либо до наступления какого-либо события. Это достигается при помощи операторов цикла.
Цикл в общем случае состоит из оператора цикла и тела цикла. Оператор цикла – это его управляющая конструкция. Она определяет, сколько раз должны выполниться операторы, записанные в тело цикла, либо при каких условиях тело цикла должно повториться еще раз. Тип цикла определяется его оператором.
1. Цикл For…Next
Для повтора цикла заданное количество раз используется конструкция For…Next, синтаксис которой следующий:
For <переменная>=<начало> to <конец> [Step <шаг>]
<операторы>
Next
Здесь <переменная> - переменная (параметр) цикла целого типа
<начало> - начальное значение параметра цикла
<конец> - конечное значение параметра цикла
<оператор> - оператор (действие) тела цикла
<шаг> - шаг цикла, т.е. то значение, на которое увеличивается параметр цикла при каждом повторе; является необязательным
Например, покажем в окне MsgBox 10 раз слово «счетчик» с его порядковым номером:
For i = 1 to 10
MsgBox "Счетчик: " & i
Next
Чтобы указать, насколько должно прирастать значение счетчика, используется ключевое слово Step:
For i = 1 to 10 Step 2
MsgBox "Счетчик: " & i
Next
Можно и уменьшать исходное значение счетчика:
For i = 10 to 1 Step -2
MsgBox "Счетчик: " & i
Next
Для безусловного выхода из конструкции For…Next используется команда Exit For.
x = InputBox (“Введите значение останова”)
y = CInt(x)
For i = 1 to 10
MsgBox "Счетчик: " & i
If i =y Then Exit For
Next
2. Цикл For Each … Next
Очень часто в VBA требуется сделать какое-нибудь действие со всеми элементам коллекции или массива - перебрать все открытые документы, все листы Excel, все ячейки в определенном диапазоне и т.п. Для того, чтобы пройти циклом по всем элементам коллекции, используется команда For Each … Next.
Например:
For Each Wbk in Workbooks
MsgBox Wbk.Name
Next
При использовании этого приема можно очень просто найти и получить ссылку на нужный объект:
For Each Wbk in Workbooks
If Wbk.Name = "Сводка.xls" Then
Set MyWorkBook = Wbk
Exit For
End If
Next
В этом случае цикл проходит по всем элементам коллекции Workbooks (то есть открытым рабочим книгам в Excel), для каждой книги проверяет ее имя, и если найдена книга с именем Сводка.xls, то пользователь получает на нее ссылку и происходит выход из цикла. Коллекция рабочих книг - это специальная коллекция, которая умеет производить поиск в себе по имени элементов, поэтому можно было бы обойтись такой строкой:
Set MyWorkBook = Workbooks("Сводка.xls")
Но для многих других коллекций без конструкции For Each не обойтись.
3. Цикл Do While … Loop
Конструкция Do While означает: выполнять какое-либо действие до тех пор, пока условие истинно (проверка условия в начале цикла).
Общий вид конструкции следующий:
Do While <логическое выражение>
<операторы>
Loop
<логическое выражение> - это простое или сложное условие, или логическая константа (true или false).
Пока <логическое выражение> равно true, тело цикла выполняется, а как только <логическое выражение> станет равно false, работа продолжится со следующего оператора за служебным словом Loop.
Например:
Do While y < 10
y = y + 1
MsgBox “Y = “ & Y
Loop
Применений на практике - множество: пройти по всему набору записей, пока они не закончатся; требовать от пользователя ввести подходящее значение, пока он не введет его, и т.п.